Sudoku.aiml
<?xml version="1.0" encoding="UTF-8"?>
<aiml>
<!-- Sudoku.aiml by Sabri Meeran -->
<!-- e.g. A9 is 3, I4 is 8 -->
<!-- This work is licensed under a Creative Commons Attribution 4.0 International License. -->
<!-- https://creativecommons.org/licenses/by/4.0/ -->
<category>
 <pattern>SUDOKU</pattern>
 <template>
<srai>XINIT9BY9</srai>
<srai>XPRINT9BY9</srai>
 </template>
</category>
<category>
 <pattern>SODOKU</pattern>
 <template><srai>SUDOKU</srai></template>
</category>
<category>
 <topic>SUDOKU</topic>
 <pattern>_ IS *</pattern>
 <template>
<srai>XMOD9BY9 <star/> XS <star index="2"/></srai>
<srai>XPRINT9BY9</srai>
 </template>
</category>
<category>
 <topic>SUDOKU</topic>
 <pattern>EMPTY _</pattern>
 <template>
<srai><star/> IS DASH</srai>
 </template>
</category>
<category>
 <pattern>XINIT9BY9</pattern>
 <template>
<think>
<set name="a1">-</set>
<set name="a2">-</set>
<set name="a3">-</set>
<set name="a4">-</set>
<set name="a5">-</set>
<set name="a6">-</set>
<set name="a7">-</set>
<set name="a8">-</set>
<set name="a9">-</set>
 
<set name="b1">-</set>
<set name="b2">-</set>
<set name="b3">-</set>
<set name="b4">-</set>
<set name="b5">-</set>
<set name="b6">-</set>
<set name="b7">-</set>
<set name="b8">-</set>
<set name="b9">-</set>
 
<set name="c1">-</set>
<set name="c2">-</set>
<set name="c3">-</set>
<set name="c4">-</set>
<set name="c5">-</set>
<set name="c6">-</set>
<set name="c7">-</set>
<set name="c8">-</set>
<set name="c9">-</set>
 
<set name="d1">-</set>
<set name="d2">-</set>
<set name="d3">-</set>
<set name="d4">-</set>
<set name="d5">-</set>
<set name="d6">-</set>
<set name="d7">-</set>
<set name="d8">-</set>
<set name="d9">-</set>
 
<set name="e1">-</set>
<set name="e2">-</set>
<set name="e3">-</set>
<set name="e4">-</set>
<set name="e5">-</set>
<set name="e6">-</set>
<set name="e7">-</set>
<set name="e8">-</set>
<set name="e9">-</set>
 
<set name="f1">-</set>
<set name="f2">-</set>
<set name="f3">-</set>
<set name="f4">-</set>
<set name="f5">-</set>
<set name="f6">-</set>
<set name="f7">-</set>
<set name="f8">-</set>
<set name="f9">-</set>
 
<set name="g1">-</set>
<set name="g2">-</set>
<set name="g3">-</set>
<set name="g4">-</set>
<set name="g5">-</set>
<set name="g6">-</set>
<set name="g7">-</set>
<set name="g8">-</set>
<set name="g9">-</set>
 
<set name="h1">-</set>
<set name="h2">-</set>
<set name="h3">-</set>
<set name="h4">-</set>
<set name="h5">-</set>
<set name="h6">-</set>
<set name="h7">-</set>
<set name="h8">-</set>
<set name="h9">-</set>
 
<set name="i1">-</set>
<set name="i2">-</set>
<set name="i3">-</set>
<set name="i4">-</set>
<set name="i5">-</set>
<set name="i6">-</set>
<set name="i7">-</set>
<set name="i8">-</set>
<set name="i9">-</set>
 
<set name="message">
Sudoku grid made. Please fill in the grid by writing e.g. A9 is 7, G6 is 2.
</set>
<set name="topic">SUDOKU</set>
</think>
 </template>
</category>
<category>
<pattern>XPRINT9BY9</pattern>
<template>Loading...
 
  A B C D E F G H I
1 <get name="a1"/> <get name="b1"/> <get name="c1"/>/<get name="d1"/> <get name="e1"/> <get name="f1"/>/<get name="g1"/> <get name="h1"/> <get name="i1"/>
2 <get name="a2"/> <get name="b2"/> <get name="c2"/>/<get name="d2"/> <get name="e2"/> <get name="f2"/>/<get name="g2"/> <get name="h2"/> <get name="i2"/>
3 <get name="a3"/> <get name="b3"/> <get name="c3"/>/<get name="d3"/> <get name="e3"/> <get name="f3"/>/<get name="g3"/> <get name="h3"/> <get name="i3"/>
 
4 <get name="a4"/> <get name="b4"/> <get name="c4"/>/<get name="d4"/> <get name="e4"/> <get name="f4"/>/<get name="g4"/> <get name="h4"/> <get name="i4"/>
5 <get name="a5"/> <get name="b5"/> <get name="c5"/>/<get name="d5"/> <get name="e5"/> <get name="f5"/>/<get name="g5"/> <get name="h5"/> <get name="i5"/>
6 <get name="a6"/> <get name="b6"/> <get name="c6"/>/<get name="d6"/> <get name="e6"/> <get name="f6"/>/<get name="g6"/> <get name="h6"/> <get name="i6"/>
 
7 <get name="a7"/> <get name="b7"/> <get name="c7"/>/<get name="d7"/> <get name="e7"/> <get name="f7"/>/<get name="g7"/> <get name="h7"/> <get name="i7"/>
8 <get name="a8"/> <get name="b8"/> <get name="c8"/>/<get name="d8"/> <get name="e8"/> <get name="f8"/>/<get name="g8"/> <get name="h8"/> <get name="i8"/>
9 <get name="a9"/> <get name="b9"/> <get name="c9"/>/<get name="d9"/> <get name="e9"/> <get name="f9"/>/<get name="g9"/> <get name="h9"/> <get name="i9"/>
 
<get name="message"/>
</template>
</category>
<category>
 <pattern>XMOD9BY9 * XS *</pattern>
 <template>
<think>
<set name="position"><uppercase><star/></uppercase></set>
<set name="digit"><uppercase><star index="2"/></uppercase></set>
</think>
<condition name="digit">
<li value="DASH"><think><set name="digit">-</set></think></li>
<li value="1"></li>
<li value="2"></li>
<li value="3"></li>
<li value="4"></li>
<li value="5"></li>
<li value="6"></li>
<li value="7"></li>
<li value="8"></li>
<li value="9"></li>
<li><think><set name="position">XX</set></think></li>
</condition>
<condition name="position">
<li value="A1"><think><set name="a1"><get name="digit"/></set></think></li>
<li value="B1"><think><set name="b1"><get name="digit"/></set></think></li>
<li value="C1"><think><set name="c1"><get name="digit"/></set></think></li>
<li value="D1"><think><set name="d1"><get name="digit"/></set></think></li>
<li value="E1"><think><set name="e1"><get name="digit"/></set></think></li>
<li value="F1"><think><set name="f1"><get name="digit"/></set></think></li>
<li value="G1"><think><set name="g1"><get name="digit"/></set></think></li>
<li value="H1"><think><set name="h1"><get name="digit"/></set></think></li>
<li value="I1"><think><set name="i1"><get name="digit"/></set></think></li>
 
<li value="A2"><think><set name="a2"><get name="digit"/></set></think></li>
<li value="B2"><think><set name="b2"><get name="digit"/></set></think></li>
<li value="C2"><think><set name="c2"><get name="digit"/></set></think></li>
<li value="D2"><think><set name="d2"><get name="digit"/></set></think></li>
<li value="E2"><think><set name="e2"><get name="digit"/></set></think></li>
<li value="F2"><think><set name="f2"><get name="digit"/></set></think></li>
<li value="G2"><think><set name="g2"><get name="digit"/></set></think></li>
<li value="H2"><think><set name="h2"><get name="digit"/></set></think></li>
<li value="I2"><think><set name="i2"><get name="digit"/></set></think></li>
 
<li value="A3"><think><set name="a3"><get name="digit"/></set></think></li>
<li value="B3"><think><set name="b3"><get name="digit"/></set></think></li>
<li value="C3"><think><set name="c3"><get name="digit"/></set></think></li>
<li value="D3"><think><set name="d3"><get name="digit"/></set></think></li>
<li value="E3"><think><set name="e3"><get name="digit"/></set></think></li>
<li value="F3"><think><set name="f3"><get name="digit"/></set></think></li>
<li value="G3"><think><set name="g3"><get name="digit"/></set></think></li>
<li value="H3"><think><set name="h3"><get name="digit"/></set></think></li>
<li value="I3"><think><set name="i3"><get name="digit"/></set></think></li>
 
<li value="A4"><think><set name="a4"><get name="digit"/></set></think></li>
<li value="B4"><think><set name="b4"><get name="digit"/></set></think></li>
<li value="C4"><think><set name="c4"><get name="digit"/></set></think></li>
<li value="D4"><think><set name="d4"><get name="digit"/></set></think></li>
<li value="E4"><think><set name="e4"><get name="digit"/></set></think></li>
<li value="F4"><think><set name="f4"><get name="digit"/></set></think></li>
<li value="G4"><think><set name="g4"><get name="digit"/></set></think></li>
<li value="H4"><think><set name="h4"><get name="digit"/></set></think></li>
<li value="I4"><think><set name="i4"><get name="digit"/></set></think></li>
 
<li value="A5"><think><set name="a5"><get name="digit"/></set></think></li>
<li value="B5"><think><set name="b5"><get name="digit"/></set></think></li>
<li value="C5"><think><set name="c5"><get name="digit"/></set></think></li>
<li value="D5"><think><set name="d5"><get name="digit"/></set></think></li>
<li value="E5"><think><set name="e5"><get name="digit"/></set></think></li>
<li value="F5"><think><set name="f5"><get name="digit"/></set></think></li>
<li value="G5"><think><set name="g5"><get name="digit"/></set></think></li>
<li value="H5"><think><set name="h5"><get name="digit"/></set></think></li>
<li value="I5"><think><set name="i5"><get name="digit"/></set></think></li>
 
<li value="A6"><think><set name="a6"><get name="digit"/></set></think></li>
<li value="B6"><think><set name="b6"><get name="digit"/></set></think></li>
<li value="C6"><think><set name="c6"><get name="digit"/></set></think></li>
<li value="D6"><think><set name="d6"><get name="digit"/></set></think></li>
<li value="E6"><think><set name="e6"><get name="digit"/></set></think></li>
<li value="F6"><think><set name="f6"><get name="digit"/></set></think></li>
<li value="G6"><think><set name="g6"><get name="digit"/></set></think></li>
<li value="H6"><think><set name="h6"><get name="digit"/></set></think></li>
<li value="I6"><think><set name="i6"><get name="digit"/></set></think></li>
 
<li value="A7"><think><set name="a7"><get name="digit"/></set></think></li>
<li value="B7"><think><set name="b7"><get name="digit"/></set></think></li>
<li value="C7"><think><set name="c7"><get name="digit"/></set></think></li>
<li value="D7"><think><set name="d7"><get name="digit"/></set></think></li>
<li value="E7"><think><set name="e7"><get name="digit"/></set></think></li>
<li value="F7"><think><set name="f7"><get name="digit"/></set></think></li>
<li value="G7"><think><set name="g7"><get name="digit"/></set></think></li>
<li value="H7"><think><set name="h7"><get name="digit"/></set></think></li>
<li value="I7"><think><set name="i7"><get name="digit"/></set></think></li>
 
<li value="A8"><think><set name="a8"><get name="digit"/></set></think></li>
<li value="B8"><think><set name="b8"><get name="digit"/></set></think></li>
<li value="C8"><think><set name="c8"><get name="digit"/></set></think></li>
<li value="D8"><think><set name="d8"><get name="digit"/></set></think></li>
<li value="E8"><think><set name="e8"><get name="digit"/></set></think></li>
<li value="F8"><think><set name="f8"><get name="digit"/></set></think></li>
<li value="G8"><think><set name="g8"><get name="digit"/></set></think></li>
<li value="H8"><think><set name="h8"><get name="digit"/></set></think></li>
<li value="I8"><think><set name="i8"><get name="digit"/></set></think></li>
 
<li value="A9"><think><set name="a9"><get name="digit"/></set></think></li>
<li value="B9"><think><set name="b9"><get name="digit"/></set></think></li>
<li value="C9"><think><set name="c9"><get name="digit"/></set></think></li>
<li value="D9"><think><set name="d9"><get name="digit"/></set></think></li>
<li value="E9"><think><set name="e9"><get name="digit"/></set></think></li>
<li value="F9"><think><set name="f9"><get name="digit"/></set></think></li>
<li value="G9"><think><set name="g9"><get name="digit"/></set></think></li>
<li value="H9"><think><set name="h9"><get name="digit"/></set></think></li>
<li value="I9"><think><set name="i9"><get name="digit"/></set></think></li>
</condition>
<condition name="position">
<li value="XX">
<think>
<set name="message">
Invalid digit. Please fill or clear in the grid by writing e.g. A9 is 7, G6 is 2, empty A8.
</set>
</think>
</li>
<li>
<srai>XCHECK9BY9</srai>
<think>
<set name="message">
Done. <get name="position"/> is now <get name="digit"/>. <get name="warning"/>
</set>
</think>
</li>
</condition>
 </template>
</category>
<category>
 <pattern>XCHECK9BY9</pattern>
 <template>
<think>
<set name="warning"></set>
</think>
<srai>XCHECK9BY9PART <get name="a1"/> <get name="b1"/> <get name="c1"/>/<get name="d1"/> <get name="e1"/> <get name="f1"/>/<get name="g1"/> <get name="h1"/> <get name="i1"/> XS ROW 1</srai>
<srai>XCHECK9BY9PART <get name="a2"/> <get name="b2"/> <get name="c2"/>/<get name="d2"/> <get name="e2"/> <get name="f2"/>/<get name="g2"/> <get name="h2"/> <get name="i2"/> XS ROW 2</srai>
<srai>XCHECK9BY9PART <get name="a3"/> <get name="b3"/> <get name="c3"/>/<get name="d3"/> <get name="e3"/> <get name="f3"/>/<get name="g3"/> <get name="h3"/> <get name="i3"/> XS ROW 3</srai>
<srai>XCHECK9BY9PART <get name="a4"/> <get name="b4"/> <get name="c4"/>/<get name="d4"/> <get name="e4"/> <get name="f4"/>/<get name="g4"/> <get name="h4"/> <get name="i4"/> XS ROW 4</srai>
<srai>XCHECK9BY9PART <get name="a5"/> <get name="b5"/> <get name="c5"/>/<get name="d5"/> <get name="e5"/> <get name="f5"/>/<get name="g5"/> <get name="h5"/> <get name="i5"/> XS ROW 5</srai>
<srai>XCHECK9BY9PART <get name="a6"/> <get name="b6"/> <get name="c6"/>/<get name="d6"/> <get name="e6"/> <get name="f6"/>/<get name="g6"/> <get name="h6"/> <get name="i6"/> XS ROW 6</srai>
<srai>XCHECK9BY9PART <get name="a7"/> <get name="b7"/> <get name="c7"/>/<get name="d7"/> <get name="e7"/> <get name="f7"/>/<get name="g7"/> <get name="h7"/> <get name="i7"/> XS ROW 7</srai>
<srai>XCHECK9BY9PART <get name="a8"/> <get name="b8"/> <get name="c8"/>/<get name="d8"/> <get name="e8"/> <get name="f8"/>/<get name="g8"/> <get name="h8"/> <get name="i8"/> XS ROW 8</srai>
<srai>XCHECK9BY9PART <get name="a9"/> <get name="b9"/> <get name="c9"/>/<get name="d9"/> <get name="e9"/> <get name="f9"/>/<get name="g9"/> <get name="h9"/> <get name="i9"/> XS ROW 9</srai>
 
<srai>XCHECK9BY9PART <get name="a1"/> <get name="a2"/> <get name="a3"/>/<get name="a4"/> <get name="a5"/> <get name="a6"/>/<get name="a7"/> <get name="a8"/> <get name="a9"/> XS COLUMN A</srai>
<srai>XCHECK9BY9PART <get name="b1"/> <get name="b2"/> <get name="b3"/>/<get name="b4"/> <get name="b5"/> <get name="b6"/>/<get name="b7"/> <get name="b8"/> <get name="b9"/> XS COLUMN B</srai>
<srai>XCHECK9BY9PART <get name="c1"/> <get name="c2"/> <get name="c3"/>/<get name="c4"/> <get name="c5"/> <get name="c6"/>/<get name="c7"/> <get name="c8"/> <get name="c9"/> XS COLUMN C</srai>
<srai>XCHECK9BY9PART <get name="d1"/> <get name="d2"/> <get name="d3"/>/<get name="d4"/> <get name="d5"/> <get name="d6"/>/<get name="d7"/> <get name="d8"/> <get name="d9"/> XS COLUMN D</srai>
<srai>XCHECK9BY9PART <get name="e1"/> <get name="e2"/> <get name="e3"/>/<get name="e4"/> <get name="e5"/> <get name="e6"/>/<get name="e7"/> <get name="e8"/> <get name="e9"/> XS COLUMN E</srai>
<srai>XCHECK9BY9PART <get name="f1"/> <get name="f2"/> <get name="f3"/>/<get name="f4"/> <get name="f5"/> <get name="f6"/>/<get name="f7"/> <get name="f8"/> <get name="f9"/> XS COLUMN F</srai>
<srai>XCHECK9BY9PART <get name="g1"/> <get name="g2"/> <get name="g3"/>/<get name="g4"/> <get name="g5"/> <get name="g6"/>/<get name="g7"/> <get name="g8"/> <get name="g9"/> XS COLUMN G</srai>
<srai>XCHECK9BY9PART <get name="h1"/> <get name="h2"/> <get name="h3"/>/<get name="h4"/> <get name="h5"/> <get name="h6"/>/<get name="h7"/> <get name="h8"/> <get name="h9"/> XS COLUMN H</srai>
<srai>XCHECK9BY9PART <get name="i1"/> <get name="i2"/> <get name="i3"/>/<get name="i4"/> <get name="i5"/> <get name="i6"/>/<get name="i7"/> <get name="i8"/> <get name="i9"/> XS COLUMN I</srai>
 
<srai>XCHECK9BY9PART <get name="a1"/> <get name="a2"/> <get name="a3"/>/<get name="b1"/> <get name="b2"/> <get name="b3"/>/<get name="c1"/> <get name="c2"/> <get name="c3"/> XS BOX 1</srai>
<srai>XCHECK9BY9PART <get name="d1"/> <get name="d2"/> <get name="d3"/>/<get name="e1"/> <get name="e2"/> <get name="e3"/>/<get name="f1"/> <get name="f2"/> <get name="f3"/> XS BOX 2</srai>
<srai>XCHECK9BY9PART <get name="g1"/> <get name="g2"/> <get name="g3"/>/<get name="h1"/> <get name="h2"/> <get name="h3"/>/<get name="i1"/> <get name="i2"/> <get name="i3"/> XS BOX 3</srai>
 
<srai>XCHECK9BY9PART <get name="a4"/> <get name="a5"/> <get name="a6"/>/<get name="b4"/> <get name="b5"/> <get name="b6"/>/<get name="c4"/> <get name="c5"/> <get name="c6"/> XS BOX 4</srai>
<srai>XCHECK9BY9PART <get name="d4"/> <get name="d5"/> <get name="d6"/>/<get name="e4"/> <get name="e5"/> <get name="e6"/>/<get name="f4"/> <get name="f5"/> <get name="f6"/> XS BOX 5</srai>
<srai>XCHECK9BY9PART <get name="g4"/> <get name="g5"/> <get name="g6"/>/<get name="h4"/> <get name="h5"/> <get name="h6"/>/<get name="i4"/> <get name="i5"/> <get name="i6"/> XS BOX 6</srai>
 
<srai>XCHECK9BY9PART <get name="a7"/> <get name="a8"/> <get name="a9"/>/<get name="b7"/> <get name="b8"/> <get name="b9"/>/<get name="c7"/> <get name="c8"/> <get name="c9"/> XS BOX 7</srai>
<srai>XCHECK9BY9PART <get name="d7"/> <get name="d8"/> <get name="d9"/>/<get name="e7"/> <get name="e8"/> <get name="e9"/>/<get name="f7"/> <get name="f8"/> <get name="f9"/> XS BOX 8</srai>
<srai>XCHECK9BY9PART <get name="g7"/> <get name="g8"/> <get name="g9"/>/<get name="h7"/> <get name="h8"/> <get name="h9"/>/<get name="i7"/> <get name="i8"/> <get name="i9"/> XS BOX 9</srai>
 </template>
</category>
 
<category><pattern>XCHECK9BY9PART * XS *</pattern><template><think><set name="oll">Natalie Alex Romulus Emma Ernie Max Isla Remus Ben Abby Sophie Yves Barry</set></think></template></category>
 
<category><pattern>XCHECK9BY9PART 1 1 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 1 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 1 1 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 1 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 1 1 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 1 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART 1 * 1 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 1 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART 1 * 1 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 1 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 1 * 1 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="4"/></formal> contains 1 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 1 * 1 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 1 more than once.</set></think></template></category>
 
<category><pattern>XCHECK9BY9PART 2 2 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 2 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 2 2 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 2 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 2 2 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 2 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART 2 * 2 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 2 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART 2 * 2 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 2 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 2 * 2 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="4"/></formal> contains 2 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 2 * 2 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 2 more than once.</set></think></template></category>
 
<category><pattern>XCHECK9BY9PART 3 3 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 3 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 3 3 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 3 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 3 3 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 3 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART 3 * 3 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 3 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART 3 * 3 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 3 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 3 * 3 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="4"/></formal> contains 3 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 3 * 3 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 3 more than once.</set></think></template></category>
 
<category><pattern>XCHECK9BY9PART 4 4 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 4 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 4 4 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 4 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 4 4 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 4 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART 4 * 4 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 4 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART 4 * 4 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 4 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 4 * 4 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="4"/></formal> contains 4 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 4 * 4 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 4 more than once.</set></think></template></category>
 
<category><pattern>XCHECK9BY9PART 5 5 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 5 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 5 5 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 5 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 5 5 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 5 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART 5 * 5 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 5 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART 5 * 5 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 5 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 5 * 5 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="4"/></formal> contains 5 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 5 * 5 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 5 more than once.</set></think></template></category>
 
<category><pattern>XCHECK9BY9PART 6 6 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 6 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 6 6 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 6 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 6 6 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 6 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART 6 * 6 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 6 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART 6 * 6 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 6 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 6 * 6 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="4"/></formal> contains 6 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 6 * 6 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 6 more than once.</set></think></template></category>
 
<category><pattern>XCHECK9BY9PART 7 7 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 7 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 7 7 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 7 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 7 7 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 7 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART 7 * 7 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 7 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART 7 * 7 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 7 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 7 * 7 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="4"/></formal> contains 7 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 7 * 7 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 7 more than once.</set></think></template></category>
 
<category><pattern>XCHECK9BY9PART 8 8 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 8 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 8 8 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 8 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 8 8 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 8 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART 8 * 8 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 8 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART 8 * 8 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 8 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 8 * 8 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="4"/></formal> contains 8 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 8 * 8 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 8 more than once.</set></think></template></category>
 
<category><pattern>XCHECK9BY9PART 9 9 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 9 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 9 9 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 9 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 9 9 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 9 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART 9 * 9 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="2"/></formal> contains 9 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART 9 * 9 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 9 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 9 * 9 * XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="4"/></formal> contains 9 more than once.</set></think></template></category>
<category><pattern>XCHECK9BY9PART * 9 * 9 XS *</pattern><template><think><set name="warning"><get name="warning"/> <formal><star index="3"/></formal> contains 9 more than once.</set></think></template></category>
</aiml>
Unless otherwise stated, the content of this page is licensed under GNU Free Documentation License.