<snapdata remixID="10907535"><project name="Plurals" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAB6klEQVR4nO3WMUprYRRGUUeWKoKFhAuSQaR1GkLaG2IjDiLNHYETcAg6ADtT/K+Wh9o82OhbC07/Fbs4FwNCF/UA/m8CJCVAUgIkJUBSAiQlQFICJCVAUgIkJUBSAiQlQFICJCVAUgIkJUBSAiQlQFICJCVAUgIkJUBSAiQlQFICJCVAUgIkJUBSAiQlQFICJCVAUgIkJUBSAiQlQFICJCVAUgIkJUBSAiQlQFICJCVAUgIkJUBSAiQlQFICJCVAUgIkJUBSAiQlQFICJCVAUgIkJcBPvL6+jpubm3F/fz+WZRnn87me9CsJ8AtPT0/j6upqTNM0Li8vx+3t7ZjneTw/P9fTfg0BfmNZljFN01+3Wq3G3d3dOBwO4/39vZ75YwnwG7vd7kN419fXY7vdjsfHx3E6nep5P54Av7Df78dmsxnr9XrM8zweHh78gv+YAD/x9vY2jsfjeHl5qaf8agIkJUBSAiQlQFICJCVAUgIkJUBSAiQlQFICJCVAUgIkJUBSAiQlQFICJCVAUgIkJUBSAiQlQFICJCVAUgIkJUBSAiQlQFICJCVAUgIkJUBSAiQlQFICJCVAUgIkJUBSAiQlQFICJCVAUgIkJUBSAiQlQFICJCVAUgIkJUBSAiQlQFICJCVAUgIk9Qe9pK9TMBhQwgAAAABJRU5ErkJggg==</thumbnail><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="true" hyperops="true" codify="false" inheritance="false" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAACtUlEQVR4nO3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+Bo3+AAF/RMkcAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Sprite" idx="1" x="1.8006644518247867" y="-5.4019933554818635" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="8"><costumes><list struct="atomic" id="9"></list></costumes><sounds><list struct="atomic" id="10"></list></sounds><blocks></blocks><variables></variables><scripts><script x="948.4333333969116" y="95.33333333333329"><block var="item"/></script><script x="29.066665649414062" y="20.833333333333286"><custom-block s="plural word %s"><l>anaconda</l><comment w="271" collapsed="true">This block returns the plural of the word.</comment></custom-block></script><script x="89" y="44.50000000000071"><custom-block s="rules for -i"></custom-block></script><script x="89" y="65.33333333333397"><custom-block s="rules for -es"></custom-block></script><script x="88" y="85.16666666666723"><custom-block s="rules for -ies"></custom-block></script><script x="89" y="126.83333333333374"><custom-block s="rules for -s"></custom-block></script><script x="88" y="146.666666666667"><custom-block s="rules for -a"></custom-block></script><script x="88" y="167.00000000000003"><custom-block s="rules for -o"></custom-block></script><script x="88" y="186.8333333333333"><custom-block s="rules for -es (is)"></custom-block></script><script x="210" y="45.666666666667"><block s="reportNewList"><list><l>suffix sulution</l><block s="reportNewList"><list><l>cases</l></list></block><l>how many letters to remove off of word</l></list></block></script><script x="87" y="212.66666666666666"><block s="reportNewList"><list><l>sheep</l><l>series</l><l>species</l><l>deer</l></list><comment w="134" collapsed="true">identical plurals</comment></block></script><script x="86" y="242.66666666666666"><block s="reportNewList"><list><l>child</l><l>goose</l><l>man</l><l>woman</l><l>tooth</l><l>foot</l><l>mouse</l><l>person</l><l>photo</l><l>piano</l><l>halo</l><l>roof</l><l>belief</l><l>chef</l><l>chief</l></list><comment w="99" collapsed="false">outlaws with special sulutions that are defined in another special list</comment></block></script><script x="19" y="299.4"><custom-block s="plural h %s"><l>match</l></custom-block></script><comment x="240" y="72.66666666666666" w="300" collapsed="false">EVERY PLURAL!&#xD;each rule consists of the following parameters:&#xD;proper suffix&#xD;the cases in which the suffix should be inserted&#xD;how many letters to remove off of the word when the case is true</comment><script x="87" y="106.00000000000048"><custom-block s="rules for -ves"></custom-block></script></scripts></sprite><watcher var="plural_word" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="letters_to_remove" style="normal" x="10" y="31.000001999999995" color="243,118,29" hidden="true"/><watcher var="rules" style="normal" x="10" y="52.00000399999999" color="243,118,29" hidden="true"/><watcher var="outlaws" style="normal" x="10" y="73.00000599999998" color="243,118,29" hidden="true"/><watcher var="outlaws_plural" style="normal" x="10" y="94.00000799999998" color="243,118,29" hidden="true"/><watcher var="same_as_singular" style="normal" x="10" y="187.00000999999997" color="243,118,29" hidden="true"/><watcher var="outlaw_plural" style="normal" x="10" y="208.00001199999997" color="243,118,29" hidden="true"/><watcher var="ending_cases" style="normal" x="10" y="229.00001399999996" color="243,118,29" hidden="true"/><watcher var="last_two_letters_of word" style="normal" x="10" y="250.00001599999996" color="243,118,29" hidden="true"/><watcher var="plural_word_length" style="normal" x="10" y="271.00001799999995" color="243,118,29" hidden="true"/><watcher var="ending" style="normal" x="10" y="292.00001999999995" color="243,118,29" hidden="true"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="all but last letter of %&apos;string&apos;" type="reporter" category="operators"><comment x="0" y="0" w="217.99999999999997" collapsed="false">Takes a text string as input, and reports a new text string containing all but the last letter of the input.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="string"/></block><l>0</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportSum"><l>0</l><l>0</l></block></block></block></script></block><block s="doSetVar"><l>result</l><l></l></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportEquals"><block var="i"/><block s="reportStringSize"><block var="string"/></block></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportLetter"><block var="i"/><block var="string"/></block></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="last letter of %&apos;word&apos;" type="reporter" category="operators"><comment x="0" y="0" w="260" collapsed="false">Takes a text string as input, and reports the last character in the string.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportLetter"><block s="reportStringSize"><block var="word"/></block><block var="word"/></block></block></script></block-definition><block-definition s="map %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>mapone</l><l>mapmany</l></list></block><block s="doSetVar"><l>mapone</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="evaluate"><block var="mapone"/><list><block s="reportCDR"><block var="data"/></block></list></block></block></block></script><list><l>data</l></list></block></block><block s="doSetVar"><l>mapmany</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportListItem"><l>1</l><block var="data lists"/></block></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></block><block s="evaluate"><block var="mapmany"/><list><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></list></block></block></block></script><list><l>data lists</l></list></block></block><block s="doIfElse"><custom-block s="empty? %l"><block s="reportCDR"><block var="lists"/></block></custom-block><script><block s="doReport"><block s="evaluate"><block var="mapone"/><list><block s="reportListItem"><l>1</l><block var="lists"/></block></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="mapmany"/><list><block var="lists"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block></script></block-definition><block-definition s="plural word %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><custom-block s="vars 1"><comment w="232" collapsed="true">vars block just initilizes some varibles</comment></custom-block><block s="doIfElse"><block s="reportListContainsItem"><block var="same_as_singular"/><block var="word"><comment w="179" collapsed="true">plural special exceptions</comment></block></block><script><block s="doReport"><block var="word"/></block></script><script><block s="doIf"><block s="reportListContainsItem"><block var="outlaws"/><block var="word"/></block><script><block s="doSetVar"><l>outlaw_plural</l><block s="reportListItem"><block s="reportListIndex"><block var="word"/><block var="outlaws"/></block><block var="outlaws_plural"/></block></block><block s="doReport"><block var="outlaw_plural"/></block></script></block></script></block><block s="doForEach"><l>item</l><block var="rules"/><script><custom-block s="vars 2 %s %s"><block var="item"/><block var="word"/></custom-block><block s="doIf"><block s="reportOr"><block s="reportListContainsItem"><block var="ending_cases"/><block var="last_two_letters_of word"/></block><block s="reportListContainsItem"><block var="ending_cases"/><block s="reportLetter"><l><option>last</option></l><block var="word"/></block></block></block><script><block s="doFor"><l>i</l><l>1</l><block var="plural_word_length"/><script><block s="doSetVar"><l>plural_word</l><block s="reportJoinWords"><list><block var="plural_word"/><block s="reportLetter"><block var="i"/><block var="word"/></block></list></block><comment w="357" collapsed="true">reconstucts the word with the length that the rules designate</comment></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block var="plural_word"/><block var="ending"/></list><comment w="423" collapsed="true">the ending is designated by the rule found in the rules list. where word is reported</comment></block></block></script></block></script><comment w="224" collapsed="false">itterates through the list of rules. all of the rules are formatted as such:&#xD;Index 1: what to replace with (suffix)&#xD;Index 2: what cases to look for&#xD;Index 3: how many letters to remove on the end</comment></block><block s="doReport"><block s="reportJoinWords"><list><block var="word"/><l>s</l></list><comment w="221" collapsed="true">regular noun always ends in an s</comment></block></block></script></block-definition><block-definition s="plural h %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIf"><block s="reportEquals"><l>h</l><block s="reportLetter"><l><option>last</option></l><block var="word"/></block></block><script><block s="doReport"><block s="reportJoinWords"><list><block var="word"/><l>es</l></list></block></block></script></block><block s="doReport"><l></l></block></script></block-definition><block-definition s="ending: %&apos;ending&apos; cases: %&apos;cases&apos; # chars replace: %&apos;num&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%mult%l"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="ending"/><block var="cases"/><block var="num"/></list></block></block></script></block-definition><block-definition s="cases: if %&apos;test&apos; then %&apos;result&apos; %&apos;more&apos;" type="command" category="control"><comment x="0" y="0" w="262" collapsed="false">Multi-branched conditional.&#xD;&#xD;If the first (Boolean) input is True, then the script in&#xD;the second (C-slot) input is run, and this block stops.&#xD;&#xD;Additional tests can be added by putting one or more&#xD;ELSE IF blocks in the third (variadic) Boolean slot.&#xD;Use the arrowheads to get the number of Boolean&#xD;slots you need.  Each ELSE IF block provides a Boolean&#xD;slot for a condition to test and a script slot for what to do&#xD;if the condition is True.  You can put an ELSE block in&#xD;the last Boolean input to CASES for a script to run if&#xD;all the tests turn out False.&#xD;&#xD;As soon as a condition is True, no further tests are done&#xD;and no further scripts are run.</comment><header></header><code></code><translations>pt:se _ , então _ _&#xD;</translations><inputs><input type="%b"></input><input type="%cs"></input><input type="%mult%boolUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doRun"><block var="result"/><list></list></block></script><script><custom-block s="catch %upvar %cs"><l>tag</l><script><block s="doForEach"><l>item</l><block var="more"/><script><block s="doIf"><block s="evaluate"><block var="item"/><list></list></block><script><custom-block s="throw %s"><block var="tag"/></custom-block></script></block></script></block></script></custom-block></script></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>pt:captura _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations>pt:lança _&#xD;</translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="else if %&apos;test&apos; then %&apos;action&apos;" type="predicate" category="control"><comment x="0" y="0" w="176" collapsed="false">For use with the CASES block.&#xD;See its help message.</comment><header></header><code></code><translations>pt:senão, se _ , então _&#xD;</translations><inputs><input type="%b"></input><input type="%cs"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doRun"><block var="action"/><list></list></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="else %&apos;action&apos;" type="predicate" category="control"><comment x="0" y="0" w="176" collapsed="false">For use with the CASES block.&#xD;See its help message.</comment><header></header><code></code><translations>pt:senão, _&#xD;</translations><inputs><input type="%cs"></input></inputs><script><block s="doRun"><block var="action"/><list></list></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block-definition><block-definition s="rules for -h" type="reporter" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l></l></block></script></block-definition><block-definition s="rules for -i" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>i</l><block s="reportNewList"><list><l>us</l></list></block><l>2</l></list></block></block></script></block-definition><block-definition s="rules for -es" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>es</l><block s="reportNewList"><list><l>s</l><l>ss</l><l>sh</l><l>ch</l><l>x</l><l>z</l></list></block><l>0</l></list></block></block></script></block-definition><block-definition s="rules for -ies" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>ies</l><block s="reportNewList"><list><l>by</l><l>cy</l><l>dy</l><l>fy</l><l>gy</l><l>hy</l><l>jy</l><l>ky</l><l>ly</l><l>my</l><l>ny</l><l>py</l><l>qy</l><l>qy</l><l>ry</l><l>sy</l><l>ty</l><l>vy</l><l>wy</l><l>xy</l><l>zy</l></list></block><l>1</l></list></block></block></script></block-definition><block-definition s="rules for -ves" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>ves</l><block s="reportNewList"><list><l>f</l><l>fe</l></list></block><l>remove_len_of_case</l></list></block></block></script></block-definition><block-definition s="rules for -s" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>s</l><block s="reportNewList"><list><l>ay</l><l>ey</l><l>iy</l><l>oy</l><l>uy</l></list></block><l>0</l></list></block></block></script></block-definition><block-definition s="rules for -a" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>a</l><block s="reportNewList"><list><l>on</l></list></block><l>2</l></list></block></block></script></block-definition><block-definition s="vars 1" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>same_as_singular</l><block s="reportNewList"><list><l>sheep</l><l>series</l><l>species</l><l>deer</l></list></block></block><block s="doSetVar"><l>outlaws</l><block s="reportNewList"><list><l>child</l><l>goose</l><l>man</l><l>woman</l><l>tooth</l><l>foot</l><l>mouse</l><l>person</l><l>photo</l><l>piano</l><l>halo</l><l>roof</l><l>belief</l><l>chef</l><l>chief</l><l>ox</l></list></block></block><block s="doSetVar"><l>outlaws_plural</l><block s="reportNewList"><list><l>children</l><l>geese</l><l>men</l><l>women</l><l>teeth</l><l>feet</l><l>mice</l><l>people</l><l>photos</l><l>pianos</l><l>halos</l><l>roofs</l><l>beliefs</l><l>chefs</l><l>chiefs</l><l>oxen</l></list></block></block><block s="doSetVar"><l>rules</l><block s="reportNewList"><list><custom-block s="rules for -i"></custom-block><custom-block s="rules for -es (is)"></custom-block><custom-block s="rules for -es"></custom-block><custom-block s="rules for -ies"></custom-block><custom-block s="rules for -ves"></custom-block><custom-block s="rules for -a"></custom-block><custom-block s="rules for -o"></custom-block></list></block></block></script></block-definition><block-definition s="init vars 1" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="vars 2 %&apos;item&apos; %&apos;word&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>letters_to_remove</l><block s="reportListItem"><l><option>last</option></l><block var="item"/></block></block><block s="doSetVar"><l>last_two_letters_of word</l><block s="reportJoinWords"><list><block s="reportLetter"><block s="reportDifference"><block s="reportStringSize"><block var="word"/></block><l>1</l></block><block var="word"/></block><block s="reportLetter"><l><option>last</option></l><block var="word"/></block></list></block></block><block s="doIfElse"><block s="reportEquals"><block var="letters_to_remove"/><l>remove_len_of_case</l></block><script><block s="doIfElse"><block s="reportListContainsItem"><block var="ending_cases"/><block s="reportLetter"><l><option>last</option></l><block var="word"/></block></block><script><block s="doSetVar"><l>plural_word_length</l><block s="reportDifference"><block var="word"/><l>1</l></block></block></script><script><block s="doIf"><block s="reportListContainsItem"><block var="ending_cases"/><block var="last_two_letters_of word"/></block><script><block s="doSetVar"><l>plural_word_length</l><block s="reportDifference"><block var="word"/><l>2</l></block></block></script></block></script></block></script><script><block s="doSetVar"><l>plural_word_length</l><block s="reportDifference"><block s="reportStringSize"><block var="word"/></block><block var="letters_to_remove"/></block></block></script></block><block s="doSetVar"><l>ending</l><block s="reportListItem"><l>1</l><block var="item"/></block></block><block s="doSetVar"><l>plural_word</l><l></l></block><block s="doSetVar"><l>ending_cases</l><block s="reportListItem"><l>2</l><block var="item"/></block></block></script><scripts><script x="711.6333341598511" y="226.4333333333338"><block var="word"/></script></scripts></block-definition><block-definition s="item" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l></l></block></script></block-definition><block-definition s="rules for -o" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>es</l><block s="reportNewList"><list><l>o</l></list></block><l>0</l></list></block></block></script></block-definition><block-definition s="rules for -es (is)" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>es</l><block s="reportNewList"><list><l>is</l></list></block><l>2</l></list></block></block></script></block-definition></blocks><variables><variable name="plural_word"><l></l></variable><variable name="letters_to_remove"><l>0</l></variable><variable name="rules"><list id="859"><item><list id="860"><item><l>i</l></item><item><list struct="atomic" id="861">us</list></item><item><l>2</l></item></list></item><item><list id="862"><item><l>es</l></item><item><list struct="atomic" id="863">is</list></item><item><l>2</l></item></list></item><item><list id="864"><item><l>es</l></item><item><list struct="atomic" id="865">s,ss,sh,ch,x,z</list></item><item><l>0</l></item></list></item><item><list id="866"><item><l>ies</l></item><item><list struct="atomic" id="867">by,cy,dy,fy,gy,hy,jy,ky,ly,my,ny,py,qy,qy,ry,sy,ty,vy,wy,xy,zy</list></item><item><l>1</l></item></list></item><item><list id="868"><item><l>ves</l></item><item><list struct="atomic" id="869">f,fe</list></item><item><l>remove_len_of_case</l></item></list></item><item><list id="870"><item><l>a</l></item><item><list struct="atomic" id="871">on</list></item><item><l>2</l></item></list></item><item><list id="872"><item><l>es</l></item><item><list struct="atomic" id="873">o</list></item><item><l>0</l></item></list></item></list></variable><variable name="outlaws"><list struct="atomic" id="874">child,goose,man,woman,tooth,foot,mouse,person,photo,piano,halo,roof,belief,chef,chief,ox</list></variable><variable name="outlaws_plural"><list struct="atomic" id="875">children,geese,men,women,teeth,feet,mice,people,photos,pianos,halos,roofs,beliefs,chefs,chiefs,oxen</list></variable><variable name="same_as_singular"><list struct="atomic" id="876">sheep,series,species,deer</list></variable><variable name="outlaw_plural"><l>chiefs</l></variable><variable name="ending_cases"><ref id="873"></ref></variable><variable name="last_two_letters_of word"><l>da</l></variable><variable name="plural_word_length"><l>8</l></variable><variable name="ending"><l>es</l></variable></variables></project><media name="Plurals" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>