<snapdata remixID="15130272"><project name="6.1 coding" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="6.1 coding"><notes></notes><hidden></hidden><headers></headers><code></code><blocks></blocks><primitives></primitives><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="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="6"><pentrails>data:image/png;base64,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</pentrails><costumes><list struct="atomic" id="7"></list></costumes><sounds><list struct="atomic" id="8"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="13"><costumes><list struct="atomic" id="14"></list></costumes><sounds><list struct="atomic" id="15"></list></sounds><blocks></blocks><variables></variables><scripts></scripts></sprite><watcher var="insertion_sort_fixed" style="normal" x="0" y="10" color="243,118,29"/></sprites></stage><variables><variable name="insertion_sort_fixed"><l>&lt;?xml version="1.0"?&gt;&#xD;&lt;project name="insertion sort starter" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"&gt;&#xD;  &lt;notes&gt;INSERTION SORT - WALKTHROUGH&#xD;==============================&#xD;&#xD;HOW INSERTION SORT WORKS:&#xD;  Imagine sorting a hand of playing cards. You pick up cards one at&#xD;  a time and slide each into its correct spot among the cards already&#xD;  in your hand. That is insertion sort!&#xD;&#xD;USER INTERFACE:&#xD;  The buttons and sample lists should be visible as soon as the file opens.&#xD;  Click the green flag to reload the demo list if needed.&#xD;  Then click:&#xD;    - Random List  to generate your own test list&#xD;    - Best Case    to see an already-sorted example&#xD;    - Worst Case   to see a reverse-sorted example&#xD;    - Explain Sort to hear the walkthrough and what comparison count means&#xD;&#xD;  Step by step:&#xD;    1. Take the first element from the unsorted list.&#xD;    2. Insert it into the correct position in the already-sorted portion.&#xD;    3. Repeat until all elements have been placed.&#xD;&#xD;BLOCKS IN THIS PROJECT:&#xD;  sort [list]&#xD;    The main recursive entry point. If the list is empty, return it.&#xD;    Otherwise, take the first element, recursively sort the rest,&#xD;    then insert the first element into its correct spot.&#xD;&#xD;  insert [value] into [sorted data]&#xD;    Finds the right position for one value inside an already-sorted list.&#xD;    Compares value to each element in order; each comparison increments&#xD;    the comparison count by 1.&#xD;&#xD;  sort and count comparisons [list]&#xD;    Resets comparison count to 0, runs the sort, then reports the&#xD;    total number of comparisons made -- a measure of algorithm effort.&#xD;&#xD;  random list of length [n] ranging from [min] to [max]&#xD;    Helper that generates a random list for testing.&#xD;&#xD;WHAT DOES comparison count MEASURE?&#xD;  Every time insert checks whether value belongs before the current&#xD;  element, comparison count goes up by 1. It tracks how much work&#xD;  the algorithm does.&#xD;    - Already-sorted input  = fewest comparisons  (best case:  O(n))&#xD;    - Reverse-sorted input  = most comparisons    (worst case: O(n squared))&#xD;  Try both and compare the counts to see this in action!&lt;/notes&gt;&#xD;  &lt;thumbnail&gt;data:image/png;base64,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&lt;/thumbnail&gt;&#xD;  &lt;scenes select="1"&gt;&#xD;    &lt;scene name="Insertion Sort Walkthrough"&gt;&#xD;      &lt;notes&gt;See project notes above for a full explanation of how insertion sort works and what each block does.&lt;/notes&gt;&#xD;      &lt;hidden/&gt;&#xD;      &lt;headers/&gt;&#xD;      &lt;code/&gt;&#xD;      &lt;blocks&gt;&#xD;        &lt;block-definition s="sort %&amp;apos;data&amp;apos;" type="reporter" category="lists"&gt;&#xD;          &lt;header/&gt;&#xD;          &lt;code/&gt;&#xD;          &lt;translations/&gt;&#xD;          &lt;inputs&gt;&#xD;            &lt;input type="%l" initial="1"/&gt;&#xD;          &lt;/inputs&gt;&#xD;          &lt;script&gt;&#xD;            &lt;comment w="300" collapsed="false"&gt;INSERTION SORT (recursive). Base case: if the list is empty, return it -- nothing to sort. Recursive case: take the first element (head), recursively sort the rest (tail), then INSERT the head into its correct position in the sorted tail. This is like picking up one playing card at a time and sliding it into your hand.&lt;/comment&gt;&#xD;            &lt;block s="doWarp"&gt;&#xD;              &lt;script&gt;&#xD;                &lt;block s="doIf"&gt;&#xD;                  &lt;block s="reportListIsEmpty"&gt;&#xD;                    &lt;block var="data"/&gt;&#xD;                  &lt;/block&gt;&#xD;                  &lt;script&gt;&#xD;                    &lt;block s="doReport"&gt;&#xD;                      &lt;block var="data"/&gt;&#xD;                    &lt;/block&gt;&#xD;                  &lt;/script&gt;&#xD;                  &lt;list/&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doReport"&gt;&#xD;                  &lt;custom-block s="insert %s into %l"&gt;&#xD;                    &lt;block s="reportListItem"&gt;&#xD;                      &lt;l&gt;1&lt;/l&gt;&#xD;                      &lt;block var="data"/&gt;&#xD;                    &lt;/block&gt;&#xD;                    &lt;custom-block s="sort %l"&gt;&#xD;                      &lt;block s="reportCDR"&gt;&#xD;                        &lt;block var="data"/&gt;&#xD;                      &lt;/block&gt;&#xD;                    &lt;/custom-block&gt;&#xD;                  &lt;/custom-block&gt;&#xD;                &lt;/block&gt;&#xD;              &lt;/script&gt;&#xD;            &lt;/block&gt;&#xD;          &lt;/script&gt;&#xD;        &lt;/block-definition&gt;&#xD;        &lt;block-definition s="insert %&amp;apos;value&amp;apos; into %&amp;apos;sorted data&amp;apos;" type="reporter" category="lists"&gt;&#xD;          &lt;header/&gt;&#xD;          &lt;code/&gt;&#xD;          &lt;translations/&gt;&#xD;          &lt;inputs&gt;&#xD;            &lt;input type="%s" initial="1"/&gt;&#xD;            &lt;input type="%l" initial="1"/&gt;&#xD;          &lt;/inputs&gt;&#xD;          &lt;script&gt;&#xD;            &lt;comment w="300" collapsed="false"&gt;INSERT VALUE INTO SORTED LIST. Finds the correct spot for &apos;value&apos; inside the already-sorted list &apos;sorted data&apos;. 1) Base case: if sorted data is empty, return a list containing just value. 2) If value is LESS THAN the first element: value belongs at the front -- increment comparison count and prepend value. 3) Otherwise: keep the first element at the front and recurse to insert value into the rest of the list -- increment comparison count each time. comparison count tracks the total number of comparisons made during the whole sort.&lt;/comment&gt;&#xD;            &lt;block s="doWarp"&gt;&#xD;              &lt;script&gt;&#xD;                &lt;block s="doIf"&gt;&#xD;                  &lt;block s="reportListIsEmpty"&gt;&#xD;                    &lt;block var="sorted data"/&gt;&#xD;                  &lt;/block&gt;&#xD;                  &lt;script&gt;&#xD;                    &lt;block s="doReport"&gt;&#xD;                      &lt;block s="reportNewList"&gt;&#xD;                        &lt;list&gt;&#xD;                          &lt;block var="value"/&gt;&#xD;                        &lt;/list&gt;&#xD;                      &lt;/block&gt;&#xD;                    &lt;/block&gt;&#xD;                  &lt;/script&gt;&#xD;                  &lt;list/&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doIf"&gt;&#xD;                  &lt;block s="reportVariadicLessThan"&gt;&#xD;                    &lt;list&gt;&#xD;                      &lt;block var="value"/&gt;&#xD;                      &lt;block s="reportListItem"&gt;&#xD;                        &lt;l&gt;1&lt;/l&gt;&#xD;                        &lt;block var="sorted data"/&gt;&#xD;                      &lt;/block&gt;&#xD;                    &lt;/list&gt;&#xD;                  &lt;/block&gt;&#xD;                  &lt;script&gt;&#xD;                    &lt;block s="doChangeVar"&gt;&#xD;                      &lt;l&gt;comparison count&lt;/l&gt;&#xD;                      &lt;l&gt;1&lt;/l&gt;&#xD;                    &lt;/block&gt;&#xD;                    &lt;block s="doReport"&gt;&#xD;                      &lt;block s="reportCONS"&gt;&#xD;                        &lt;block var="value"/&gt;&#xD;                        &lt;block var="sorted data"/&gt;&#xD;                      &lt;/block&gt;&#xD;                    &lt;/block&gt;&#xD;                  &lt;/script&gt;&#xD;                  &lt;list/&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doChangeVar"&gt;&#xD;                  &lt;l&gt;comparison count&lt;/l&gt;&#xD;                  &lt;l&gt;1&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doReport"&gt;&#xD;                  &lt;block s="reportCONS"&gt;&#xD;                    &lt;block s="reportListItem"&gt;&#xD;                      &lt;l&gt;1&lt;/l&gt;&#xD;                      &lt;block var="sorted data"/&gt;&#xD;                    &lt;/block&gt;&#xD;                    &lt;custom-block s="insert %s into %l"&gt;&#xD;                      &lt;block var="value"/&gt;&#xD;                      &lt;block s="reportCDR"&gt;&#xD;                        &lt;block var="sorted data"/&gt;&#xD;                      &lt;/block&gt;&#xD;                    &lt;/custom-block&gt;&#xD;                  &lt;/block&gt;&#xD;                &lt;/block&gt;&#xD;              &lt;/script&gt;&#xD;            &lt;/block&gt;&#xD;          &lt;/script&gt;&#xD;        &lt;/block-definition&gt;&#xD;        &lt;block-definition s="sort and count comparisons %&amp;apos;input&amp;apos;" type="reporter" category="lists"&gt;&#xD;          &lt;header/&gt;&#xD;          &lt;code/&gt;&#xD;          &lt;translations/&gt;&#xD;          &lt;inputs&gt;&#xD;            &lt;input type="%l" initial="1"/&gt;&#xD;          &lt;/inputs&gt;&#xD;          &lt;script&gt;&#xD;            &lt;comment w="300" collapsed="false"&gt;SORT AND COUNT COMPARISONS. Step 1: Reset comparison count to 0 before starting the sort. Step 2: Run the full insertion sort (which increments comparison count each time two elements are compared inside the insert block). Step 3: Report the final comparison count -- the total work done. TIP: Try an already-sorted list (few comparisons, best case O(n)) vs. a reverse-sorted list (many comparisons, worst case O(n squared)).&lt;/comment&gt;&#xD;            &lt;block s="doSetVar"&gt;&#xD;              &lt;l&gt;comparison count&lt;/l&gt;&#xD;              &lt;l&gt;0&lt;/l&gt;&#xD;            &lt;/block&gt;&#xD;            &lt;block s="doDeclareVariables"&gt;&#xD;              &lt;list&gt;&#xD;                &lt;l&gt;result list&lt;/l&gt;&#xD;              &lt;/list&gt;&#xD;            &lt;/block&gt;&#xD;            &lt;block s="doSetVar"&gt;&#xD;              &lt;l&gt;result list&lt;/l&gt;&#xD;              &lt;custom-block s="sort %l"&gt;&#xD;                &lt;block var="input"/&gt;&#xD;              &lt;/custom-block&gt;&#xD;            &lt;/block&gt;&#xD;            &lt;block s="doReport"&gt;&#xD;              &lt;block var="comparison count"/&gt;&#xD;            &lt;/block&gt;&#xD;          &lt;/script&gt;&#xD;        &lt;/block-definition&gt;&#xD;        &lt;block-definition s="random list of length %&amp;apos;length&amp;apos; ranging from %&amp;apos;min&amp;apos; to %&amp;apos;max&amp;apos;" type="reporter" category="operators"&gt;&#xD;          &lt;header/&gt;&#xD;          &lt;code/&gt;&#xD;          &lt;translations/&gt;&#xD;          &lt;inputs&gt;&#xD;            &lt;input type="%n" initial="1"/&gt;&#xD;            &lt;input type="%n" initial="1"/&gt;&#xD;            &lt;input type="%n" initial="1"/&gt;&#xD;          &lt;/inputs&gt;&#xD;          &lt;script&gt;&#xD;            &lt;comment w="300" collapsed="false"&gt;RANDOM LIST GENERATOR. Builds an empty list, then repeats &apos;length&apos; times, each iteration appending one random number between min and max. Use this to generate test data for the sort blocks. Example: length=10, min=1, max=100 gives a shuffled list of 10 numbers.&lt;/comment&gt;&#xD;            &lt;block s="doDeclareVariables"&gt;&#xD;              &lt;list&gt;&#xD;                &lt;l&gt;result list&lt;/l&gt;&#xD;              &lt;/list&gt;&#xD;            &lt;/block&gt;&#xD;            &lt;block s="doSetVar"&gt;&#xD;              &lt;l&gt;result list&lt;/l&gt;&#xD;              &lt;block s="reportNewList"&gt;&#xD;                &lt;list/&gt;&#xD;              &lt;/block&gt;&#xD;            &lt;/block&gt;&#xD;            &lt;block s="doWarp"&gt;&#xD;              &lt;script&gt;&#xD;                &lt;block s="doRepeat"&gt;&#xD;                  &lt;block var="length"/&gt;&#xD;                  &lt;script&gt;&#xD;                    &lt;block s="doAddToList"&gt;&#xD;                      &lt;block s="reportRandom"&gt;&#xD;                        &lt;block s="reportVariadicMin"&gt;&#xD;                          &lt;list&gt;&#xD;                            &lt;block var="min"/&gt;&#xD;                            &lt;block var="max"/&gt;&#xD;                          &lt;/list&gt;&#xD;                        &lt;/block&gt;&#xD;                        &lt;block s="reportVariadicMax"&gt;&#xD;                          &lt;list&gt;&#xD;                            &lt;block var="min"/&gt;&#xD;                            &lt;block var="max"/&gt;&#xD;                          &lt;/list&gt;&#xD;                        &lt;/block&gt;&#xD;                      &lt;/block&gt;&#xD;                      &lt;block var="result list"/&gt;&#xD;                    &lt;/block&gt;&#xD;                  &lt;/script&gt;&#xD;                &lt;/block&gt;&#xD;              &lt;/script&gt;&#xD;            &lt;/block&gt;&#xD;            &lt;block s="doReport"&gt;&#xD;              &lt;block var="result list"/&gt;&#xD;            &lt;/block&gt;&#xD;          &lt;/script&gt;&#xD;        &lt;/block-definition&gt;&#xD;      &lt;/blocks&gt;&#xD;      &lt;primitives&gt;&#xD;        &lt;block-definition s="%&amp;apos;#1&amp;apos;" type="predicate" category="operators" selector="reportVariadicGreaterThan" primitive="reportVariadicGreaterThan"&gt;&#xD;          &lt;header/&gt;&#xD;          &lt;code/&gt;&#xD;          &lt;translations/&gt;&#xD;          &lt;inputs&gt;&#xD;            &lt;input type="%mult%s" readonly="true" separator="&amp;gt;" collapse="all &amp;gt;" initial="2"/&gt;&#xD;          &lt;/inputs&gt;&#xD;          &lt;script&gt;&#xD;            &lt;block s="doPrimitive"&gt;&#xD;              &lt;l&gt;&#xD;                &lt;bool&gt;true&lt;/bool&gt;&#xD;              &lt;/l&gt;&#xD;              &lt;l&gt;reportVariadicGreaterThan&lt;/l&gt;&#xD;            &lt;/block&gt;&#xD;          &lt;/script&gt;&#xD;        &lt;/block-definition&gt;&#xD;      &lt;/primitives&gt;&#xD;      &lt;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="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="148"&gt;&#xD;        &lt;pentrails&gt;data:image/png;base64,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&lt;/pentrails&gt;&#xD;        &lt;costumes&gt;&#xD;          &lt;list struct="atomic" id="149"/&gt;&#xD;        &lt;/costumes&gt;&#xD;        &lt;sounds&gt;&#xD;          &lt;list struct="atomic" id="150"/&gt;&#xD;        &lt;/sounds&gt;&#xD;        &lt;variables/&gt;&#xD;        &lt;blocks/&gt;&#xD;        &lt;scripts&gt;&#xD;          &lt;script x="10" y="10"&gt;&#xD;            &lt;block s="receiveGo"/&gt;&#xD;            &lt;block s="doSetVar"&gt;&#xD;              &lt;l&gt;current list&lt;/l&gt;&#xD;              &lt;custom-block s="random list of length %n ranging from %n to %n"&gt;&#xD;                &lt;l&gt;8&lt;/l&gt;&#xD;                &lt;l&gt;1&lt;/l&gt;&#xD;                &lt;l&gt;20&lt;/l&gt;&#xD;              &lt;/custom-block&gt;&#xD;            &lt;/block&gt;&#xD;            &lt;block s="doSetVar"&gt;&#xD;              &lt;l&gt;sorted list&lt;/l&gt;&#xD;              &lt;custom-block s="sort %l"&gt;&#xD;                &lt;block var="current list"/&gt;&#xD;              &lt;/custom-block&gt;&#xD;            &lt;/block&gt;&#xD;            &lt;block s="doSetVar"&gt;&#xD;              &lt;l&gt;comparison count&lt;/l&gt;&#xD;              &lt;custom-block s="sort and count comparisons %l"&gt;&#xD;                &lt;block var="current list"/&gt;&#xD;              &lt;/custom-block&gt;&#xD;            &lt;/block&gt;&#xD;          &lt;/script&gt;&#xD;        &lt;/scripts&gt;&#xD;        &lt;sprites select="1"&gt;&#xD;          &lt;sprite name="Guide" idx="1" x="0" y="165" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" costume="0" color="80,80,80,1" pen="tip" id="155"&gt;&#xD;            &lt;costumes&gt;&#xD;              &lt;list struct="atomic" id="156"/&gt;&#xD;            &lt;/costumes&gt;&#xD;            &lt;sounds&gt;&#xD;              &lt;list struct="atomic" id="157"/&gt;&#xD;            &lt;/sounds&gt;&#xD;            &lt;blocks/&gt;&#xD;            &lt;variables/&gt;&#xD;            &lt;scripts&gt;&#xD;              &lt;script x="10" y="10"&gt;&#xD;                &lt;block s="receiveGo"/&gt;&#xD;                &lt;block s="gotoXY"&gt;&#xD;                  &lt;l&gt;0&lt;/l&gt;&#xD;                  &lt;l&gt;165&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSayFor"&gt;&#xD;                  &lt;l&gt;Click Random List, Best Case, or Worst Case. The left watcher shows the input list, the right watcher shows the sorted result, and comparison count shows how many checks happen inside insert.&lt;/l&gt;&#xD;                  &lt;l&gt;9999&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;              &lt;/script&gt;&#xD;              &lt;script x="10" y="120"&gt;&#xD;                &lt;block s="receiveMessage"&gt;&#xD;                  &lt;l&gt;random demo&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSayFor"&gt;&#xD;                  &lt;l&gt;A random list was generated and sorted. Insertion sort takes one value at a time and inserts it into the correct place in the sorted part of the list.&lt;/l&gt;&#xD;                  &lt;l&gt;6&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSayFor"&gt;&#xD;                  &lt;l&gt;Click Random List, Best Case, or Worst Case. The left watcher shows the input list, the right watcher shows the sorted result, and comparison count shows how many checks happen inside insert.&lt;/l&gt;&#xD;                  &lt;l&gt;9999&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;              &lt;/script&gt;&#xD;              &lt;script x="10" y="230"&gt;&#xD;                &lt;block s="receiveMessage"&gt;&#xD;                  &lt;l&gt;best case&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSayFor"&gt;&#xD;                  &lt;l&gt;Best case: the list is already in order, so insertion sort makes relatively few comparisons.&lt;/l&gt;&#xD;                  &lt;l&gt;5&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSayFor"&gt;&#xD;                  &lt;l&gt;Click Random List, Best Case, or Worst Case. The left watcher shows the input list, the right watcher shows the sorted result, and comparison count shows how many checks happen inside insert.&lt;/l&gt;&#xD;                  &lt;l&gt;9999&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;              &lt;/script&gt;&#xD;              &lt;script x="10" y="330"&gt;&#xD;                &lt;block s="receiveMessage"&gt;&#xD;                  &lt;l&gt;worst case&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSayFor"&gt;&#xD;                  &lt;l&gt;Worst case: reverse order makes each new value travel through the sorted part, so comparison count grows much larger.&lt;/l&gt;&#xD;                  &lt;l&gt;6&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSayFor"&gt;&#xD;                  &lt;l&gt;Click Random List, Best Case, or Worst Case. The left watcher shows the input list, the right watcher shows the sorted result, and comparison count shows how many checks happen inside insert.&lt;/l&gt;&#xD;                  &lt;l&gt;9999&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;              &lt;/script&gt;&#xD;              &lt;script x="10" y="440"&gt;&#xD;                &lt;block s="receiveMessage"&gt;&#xD;                  &lt;l&gt;explain sort&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSayFor"&gt;&#xD;                  &lt;l&gt;Insertion sort recursively sorts the rest of the list, then insert places one value into its correct position. comparison count, renamed from the starter variable count -_-, records each check done inside insert.&lt;/l&gt;&#xD;                  &lt;l&gt;8&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSayFor"&gt;&#xD;                  &lt;l&gt;Click Random List, Best Case, or Worst Case. The left watcher shows the input list, the right watcher shows the sorted result, and comparison count shows how many checks happen inside insert.&lt;/l&gt;&#xD;                  &lt;l&gt;9999&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;              &lt;/script&gt;&#xD;              &lt;script x="20" y="98"&gt;&#xD;                &lt;block var="comparison count"/&gt;&#xD;              &lt;/script&gt;&#xD;              &lt;script x="20" y="191"&gt;&#xD;                &lt;custom-block s="sort and count comparisons %l"&gt;&#xD;                  &lt;l/&gt;&#xD;                &lt;/custom-block&gt;&#xD;              &lt;/script&gt;&#xD;              &lt;script x="20" y="221"&gt;&#xD;                &lt;custom-block s="random list of length %n ranging from %n to %n"&gt;&#xD;                  &lt;l/&gt;&#xD;                  &lt;l/&gt;&#xD;                  &lt;l/&gt;&#xD;                &lt;/custom-block&gt;&#xD;              &lt;/script&gt;&#xD;            &lt;/scripts&gt;&#xD;          &lt;/sprite&gt;&#xD;          &lt;sprite name="Random List" idx="2" x="-200" y="120" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" costume="1" color="70,170,110,1" pen="tip" id="160"&gt;&#xD;            &lt;costumes&gt;&#xD;              &lt;list id="161"&gt;&#xD;                &lt;item&gt;&#xD;                  &lt;costume name="Random List" center-x="66" center-y="18" image="data:image/png;base64,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" id="162"/&gt;&#xD;                &lt;/item&gt;&#xD;              &lt;/list&gt;&#xD;            &lt;/costumes&gt;&#xD;            &lt;sounds&gt;&#xD;              &lt;list id="163"/&gt;&#xD;            &lt;/sounds&gt;&#xD;            &lt;blocks/&gt;&#xD;            &lt;variables/&gt;&#xD;            &lt;scripts&gt;&#xD;              &lt;script x="10" y="10"&gt;&#xD;                &lt;block s="receiveGo"/&gt;&#xD;                &lt;block s="gotoXY"&gt;&#xD;                  &lt;l&gt;-200&lt;/l&gt;&#xD;                  &lt;l&gt;120&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSayFor"&gt;&#xD;                  &lt;l&gt;Random List&lt;/l&gt;&#xD;                  &lt;l&gt;9999&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;              &lt;/script&gt;&#xD;              &lt;script x="10" y="90"&gt;&#xD;                &lt;block s="receiveInteraction"&gt;&#xD;                  &lt;l&gt;&#xD;                    &lt;option&gt;clicked&lt;/option&gt;&#xD;                  &lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doDeclareVariables"&gt;&#xD;                  &lt;list&gt;&#xD;                    &lt;l&gt;length&lt;/l&gt;&#xD;                    &lt;l&gt;min&lt;/l&gt;&#xD;                    &lt;l&gt;max&lt;/l&gt;&#xD;                  &lt;/list&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doAsk"&gt;&#xD;                  &lt;l&gt;How many numbers should I generate?&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSetVar"&gt;&#xD;                  &lt;l&gt;length&lt;/l&gt;&#xD;                  &lt;block s="getLastAnswer"/&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doAsk"&gt;&#xD;                  &lt;l&gt;Smallest value?&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSetVar"&gt;&#xD;                  &lt;l&gt;min&lt;/l&gt;&#xD;                  &lt;block s="getLastAnswer"/&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doAsk"&gt;&#xD;                  &lt;l&gt;Largest value?&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSetVar"&gt;&#xD;                  &lt;l&gt;max&lt;/l&gt;&#xD;                  &lt;block s="getLastAnswer"/&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSetVar"&gt;&#xD;                  &lt;l&gt;current list&lt;/l&gt;&#xD;                  &lt;custom-block s="random list of length %n ranging from %n to %n"&gt;&#xD;                    &lt;block var="length"/&gt;&#xD;                    &lt;block var="min"/&gt;&#xD;                    &lt;block var="max"/&gt;&#xD;                  &lt;/custom-block&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSetVar"&gt;&#xD;                  &lt;l&gt;sorted list&lt;/l&gt;&#xD;                  &lt;custom-block s="sort %l"&gt;&#xD;                    &lt;block var="current list"/&gt;&#xD;                  &lt;/custom-block&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSetVar"&gt;&#xD;                  &lt;l&gt;comparison count&lt;/l&gt;&#xD;                  &lt;custom-block s="sort and count comparisons %l"&gt;&#xD;                    &lt;block var="current list"/&gt;&#xD;                  &lt;/custom-block&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doBroadcast"&gt;&#xD;                  &lt;l&gt;random demo&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;              &lt;/script&gt;&#xD;            &lt;/scripts&gt;&#xD;          &lt;/sprite&gt;&#xD;          &lt;sprite name="Best Case" idx="3" x="-200" y="40" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" costume="1" color="70,130,220,1" pen="tip" id="170"&gt;&#xD;            &lt;costumes&gt;&#xD;              &lt;list id="171"&gt;&#xD;                &lt;item&gt;&#xD;                  &lt;costume name="Best Case" center-x="66" center-y="18" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIQAAAAkCAYAAABIWJJJAAAGzUlEQVR4nO2ce1BUVRzHv3d3gX0AyxtEXBEQ8a1IEGrRMI5oTpqKVD5qbLKHafmHzfhKy2bKyRptGp2aSHOqkYastBrfrxHTfIZPclABkfdjYWGXZXfZ5neWvdyFRS5NVC73M3Nn7u6ee/d3zu97fr/fOXuBm7qx0I5uKMhO7+4jiYeYhJeOdfuZwt2bkhA8G6d/3QlD0ZMYHqQmiYcPoX/pvLN/OWHKEDaWhODZdOdrXhAPCiMSnktnv8uEb0r0X5waYIJwIkWH/kdnn8uk6CDhhLTARwgpOvRfhL53SRkSEpIgJFyQBCHhgiQICRckQUj0/OPWP8U7WRFIHaZxeY+2Ra02O+qbbLh0x4gdx+rQYLT1mQ1+KhmmjPFDylANVn1TJuqaYD8FMlO1SI7TIFSrQFubHUVVrTjwhwEHLzeyPngqfSoId3AAvOQcwrQKTBvvj2EDlViWXcpE0hcsTg/GjER/1BisotqPjVZh/bwI+CqFwZPD8CglO5Lj1Hgvt8JjRfGfp4whYd6Y2CmK/FeE+ivciMGVSQkazHxEC0/lX4kQjSYb5n1UxEcIbwXHUsnqOeG8I4SMH6LCwrQgDB3gA4vVjivFJuw8VoeSmla+jVYtx4vpQUiKUyNAI4fB1IbbFWZ8fbIeBfdbWJtNCyPZvYgQPwUOvh2LfRcasG1/jVs7syYF8GKge3xxpBa3K1rhr5Zh/uRAFtGIWcla7D3fwF/3ZKI/nkrSYkCgAjKOQ3WjFcevGZCTp4e1zS7a3t7032NSBg0Px3Hw8SJpOLhVZnaZgesyIyBr/9hHwbEIQqF8xc77KKluZaLa+GwEEgYq+esCNXIkxaoxSqfEih33cbeq94M3Md4RqaimWbe7nDmNMLW2Ycsv1Qj0VaDOYMX+y438NU8na/FaRojLfaKCvbAoLQgKOYevjtf1yl4x/X/oBeGvkrPZ6Y6jVw24WmJyGCPjsGx6KBuMy3dN2Ly3ChwHrJ4dzgbu5SnBzFFRIV784G74rgIXbhsR7CfH+swIxA3wwbzUAHy4t4oVkW/MCOVriAVbi7u1kSJDSHukyi8y8WIQsj6n3OU12fnMpEB2/u2peuTk1bPot2ZuOCbEqJnDSRBi7RXbf4+KEEKazW04e8vIv6aiLchXzs53nahDbXshSOebn4/EhFg11D4yWAT14ewULVsFXLxjwuvZpX/bFrqvEwr5YqBs8NyWIhYBosO9MX28P5vJo3SONOVMP2LtFdt/o7mrWD1CEBofGdbODWc1xJ6zekQGdZizdfHALu1p5uhCvFnO3Xe+gRV346JV7NA321i0odxeqRfnUCFmS8e6gfK9WOi735wRisggr27bVOgtouztTf89qqj0UnDQhXpj5cwwtspYlBaIH37XwyZC+M5Zt+1ADU7dbMbUsX5IiXcUanMfDWAF3/YDNfj1YkeeFwPVDQ1GGxMDzUSqcYQiIdbMCYfZasf+S424UdrCbNmQFcFmbVWDFYfyDawATBvpy9KUXXC5GHt703+PKippz4GqZ1t7Ba7ylrGO0kxysvzLUpdi0x00+HRQnqWKfP5jgUiN12DptBAcyTcw5wmd0hNnbxmRMc6PFXwfLIhE9pFa3Kl0rDIyUwOYo4nEGBUWflKM0ToVn2zera1AYbnDXroH0d490fb2tv8eWVQ6czYVcQWlZtQ0Wllxt2RKMD7eVw2zpQ2vZoTgiZG+rDB84dMSdv7WrDDm7E0/VuK3P5tRXm+BweiYYlScKb1lMFttsLRveFF6IjvIGd3tjOacrsfjIzRMoCMHKbHFTdgmvj+jZ9/dYumY0kkxatyraWU7opOHO4Qjb5/MtFMqxl6x/e+rTTxmC/4HUCVO0Jo9+2gtVs0Ox5jBKuxaruPb0GB+fqiWDcaJ602sgKPK27mXIeT4tSbe6WW1jllHTs5dGc0+I6e4o6zOgvf3VGJtZjiUXu5D8+mCZvx0zrEHcbPUzMRMNdDi9CB2ECRuWi76q+UsRfbGXjH997iUYbPZYWq1o7i6ldUONMjCwWluaWObRHERPmwgaI2+O68e5wsdKxIaFFp+zUnRspkTFuDYEKJZR9fnntHz9zt8xYDRg5VIjFGz6KDv4XeTc4VGvPJZKbImBmBCrIptaJGDaVPo5wuNyLvZxG9bU4QgO5ZmhCA+0of16XC+ASdvNGH7kigWlUYMUuL6vRbR9orpf1/C6XQ61j/pEbr+TZenrqWHbfsvQt/LpMgg4YS04FI5SVGi/9HZ50wQUpSQSGh/FF/6Y99+SkFPf+zrrmHnxhIPPz35t4sg3F0k4ZmI+ochwoaSMOCRPCjq/wXlm3FZQEVCBQAAAABJRU5ErkJggg==" id="172"/&gt;&#xD;                &lt;/item&gt;&#xD;              &lt;/list&gt;&#xD;            &lt;/costumes&gt;&#xD;            &lt;sounds&gt;&#xD;              &lt;list id="173"/&gt;&#xD;            &lt;/sounds&gt;&#xD;            &lt;blocks/&gt;&#xD;            &lt;variables/&gt;&#xD;            &lt;scripts&gt;&#xD;              &lt;script x="10" y="10"&gt;&#xD;                &lt;block s="receiveGo"/&gt;&#xD;                &lt;block s="gotoXY"&gt;&#xD;                  &lt;l&gt;-200&lt;/l&gt;&#xD;                  &lt;l&gt;40&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSayFor"&gt;&#xD;                  &lt;l&gt;Best Case&lt;/l&gt;&#xD;                  &lt;l&gt;9999&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;              &lt;/script&gt;&#xD;              &lt;script x="10" y="90"&gt;&#xD;                &lt;block s="receiveInteraction"&gt;&#xD;                  &lt;l&gt;&#xD;                    &lt;option&gt;clicked&lt;/option&gt;&#xD;                  &lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSetVar"&gt;&#xD;                  &lt;l&gt;current list&lt;/l&gt;&#xD;                  &lt;block s="reportNewList"&gt;&#xD;                    &lt;list&gt;&#xD;                      &lt;l&gt;1&lt;/l&gt;&#xD;                      &lt;l&gt;2&lt;/l&gt;&#xD;                      &lt;l&gt;3&lt;/l&gt;&#xD;                      &lt;l&gt;4&lt;/l&gt;&#xD;                      &lt;l&gt;5&lt;/l&gt;&#xD;                      &lt;l&gt;6&lt;/l&gt;&#xD;                      &lt;l&gt;7&lt;/l&gt;&#xD;                      &lt;l&gt;8&lt;/l&gt;&#xD;                    &lt;/list&gt;&#xD;                  &lt;/block&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSetVar"&gt;&#xD;                  &lt;l&gt;sorted list&lt;/l&gt;&#xD;                  &lt;custom-block s="sort %l"&gt;&#xD;                    &lt;block var="current list"/&gt;&#xD;                  &lt;/custom-block&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSetVar"&gt;&#xD;                  &lt;l&gt;comparison count&lt;/l&gt;&#xD;                  &lt;custom-block s="sort and count comparisons %l"&gt;&#xD;                    &lt;block var="current list"/&gt;&#xD;                  &lt;/custom-block&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doBroadcast"&gt;&#xD;                  &lt;l&gt;best case&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;              &lt;/script&gt;&#xD;            &lt;/scripts&gt;&#xD;          &lt;/sprite&gt;&#xD;          &lt;sprite name="Worst Case" idx="4" x="-200" y="-40" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" costume="1" color="235,145,40,1" pen="tip" id="180"&gt;&#xD;            &lt;costumes&gt;&#xD;              &lt;list id="181"&gt;&#xD;                &lt;item&gt;&#xD;                  &lt;costume name="Worst Case" center-x="66" center-y="18" image="data:image/png;base64,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" id="182"/&gt;&#xD;                &lt;/item&gt;&#xD;              &lt;/list&gt;&#xD;            &lt;/costumes&gt;&#xD;            &lt;sounds&gt;&#xD;              &lt;list id="183"/&gt;&#xD;            &lt;/sounds&gt;&#xD;            &lt;blocks/&gt;&#xD;            &lt;variables/&gt;&#xD;            &lt;scripts&gt;&#xD;              &lt;script x="10" y="10"&gt;&#xD;                &lt;block s="receiveGo"/&gt;&#xD;                &lt;block s="gotoXY"&gt;&#xD;                  &lt;l&gt;-200&lt;/l&gt;&#xD;                  &lt;l&gt;-40&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSayFor"&gt;&#xD;                  &lt;l&gt;Worst Case&lt;/l&gt;&#xD;                  &lt;l&gt;9999&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;              &lt;/script&gt;&#xD;              &lt;script x="10" y="90"&gt;&#xD;                &lt;block s="receiveInteraction"&gt;&#xD;                  &lt;l&gt;&#xD;                    &lt;option&gt;clicked&lt;/option&gt;&#xD;                  &lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSetVar"&gt;&#xD;                  &lt;l&gt;current list&lt;/l&gt;&#xD;                  &lt;block s="reportNewList"&gt;&#xD;                    &lt;list&gt;&#xD;                      &lt;l&gt;8&lt;/l&gt;&#xD;                      &lt;l&gt;7&lt;/l&gt;&#xD;                      &lt;l&gt;6&lt;/l&gt;&#xD;                      &lt;l&gt;5&lt;/l&gt;&#xD;                      &lt;l&gt;4&lt;/l&gt;&#xD;                      &lt;l&gt;3&lt;/l&gt;&#xD;                      &lt;l&gt;2&lt;/l&gt;&#xD;                      &lt;l&gt;1&lt;/l&gt;&#xD;                    &lt;/list&gt;&#xD;                  &lt;/block&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSetVar"&gt;&#xD;                  &lt;l&gt;sorted list&lt;/l&gt;&#xD;                  &lt;custom-block s="sort %l"&gt;&#xD;                    &lt;block var="current list"/&gt;&#xD;                  &lt;/custom-block&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSetVar"&gt;&#xD;                  &lt;l&gt;comparison count&lt;/l&gt;&#xD;                  &lt;custom-block s="sort and count comparisons %l"&gt;&#xD;                    &lt;block var="current list"/&gt;&#xD;                  &lt;/custom-block&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doBroadcast"&gt;&#xD;                  &lt;l&gt;worst case&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;              &lt;/script&gt;&#xD;            &lt;/scripts&gt;&#xD;          &lt;/sprite&gt;&#xD;          &lt;sprite name="Explain Sort" idx="5" x="-200" y="-120" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" costume="1" color="215,200,60,1" pen="tip" id="190"&gt;&#xD;            &lt;costumes&gt;&#xD;              &lt;list id="191"&gt;&#xD;                &lt;item&gt;&#xD;                  &lt;costume name="Explain Sort" center-x="66" center-y="18" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIQAAAAkCAYAAABIWJJJAAAHqklEQVR4nO2cC3BTVR7Gv9y80zRNy6MUahlWnKIOKAo+wVHYAUR5CdbnoiPM6o7UlXVWdJFZrY6oS1FgtI5WWQaWxV3AdQQfKCO7LrsgWuRhC0Vkt7xkaWnaJE16b26u8/9fk9ykSQqShUDub+YO6c25uY//d77znUNaQ8OWEQpSMLaiKdVbOucwH/+lLOV7hmSC0IWQu8LoIohEMaRTk865R3f1jROEtrEuhPObVLWOCiLSQBdCbpFYd0G7Uyd3iWiABRFBd4fcI7Hmgu4OOhFIC1GH0N0hd9HWPm7I0NHRBaEThy4InThM+InMX9yOL+rEtG369Dai5qVC/L947uV2fLVDxKCLzJg/t+CMHZuOltYw1qzrQN1OCSdawxAEoKTYiGuHWzB5nB0WiwGZxudX8NnmIN/P078tODuC0OnKseMyHq9qQ7s3HLf/PwdDvG3bLuL53xXAbM6sKFas9uPjz4LoUXj6hp+zgnhqtivjn7nq3Y4uYtDy7YEQF+7WMXZkK6ctCLdLwNLFRWnbfLgxiDeW+/j1hDF2PHB3Hr/+w6te/GtbJwwGYP5cN8oHmjDnWQ8a94cw+WY796RNm4NobQujtMSEe6Y6MOxyS7fXtGFTkM9JTYcBnoWCRh5jRXTJjhgNKYeMqqq27F9l8gFK+tnxLpPAjjyvYwitxE3j7bxNaVj7/4Q/zugzIRHH8xH32IjQiEF23eLqK7xQpaBHfVSnCDI7v/6fge2fiXyEOPKN+DKyyy4Y7IDRe5Yj589z8Muc9stdhxoktHQKKFHkcDP/5u9UnS4mnJ/M1/rL3/hRNY6xLhRNi787j0SPtgYwM9vsOF/zTLvIyaNs7MYEovaEYj9Ryw9jOcXteOJSheuuiK1KNZ/EkDtn/xx+w5/L2PV3zoQksGi6o5Nm4NcqAh0rcve8aN3TwHXDbemPC7facDRY8DxFhm76kXk2a1ctGuHWbH6ra7HedrCeLzKg+MtMVdpaVX43rd9rQ4vlMPi7y+ITlG9NrPJEBV4pjhtQXjaVVUmo3KmE6NG2NgBZs1w4tGnPAh2KqhZ5kNzi8xt+vUx4u7buhaJxDBxrB23T3Tg0NEQXlzi5Qf41ko/hg+18GcmQm6wZn2AX1dMdGDaBDs6RaC6ph1f75a495+MIHx+hd2Azk02X1Xdxr378y2daQUx5kYbGvf7+HgSJW2lfY24cogF119lxUU/i3/cb67wsxgoaFbOcOKKIRbsbpCw6E0vWj1hLK71sSi0kBhmP5SPYZdZ2BEu6GvE68t80QxR+3J6t86aaWdxLyPuvV0txp59EppPhLmolTPzk4Ys6ln33ZEHZ54BgwaaMfUWe7S3Nh1WrTkRSvRvv1KEtUt7cqrf8PcgXn3bi/pGtb2216ejwCVgekUeHHYDhlxiRvmFZt7f5k1//OiRNtw1JTYsEYeOyHjvowA7wTML2qLXQFlja53qkONH2zDiaiufj9xvynj1XmlYIHdLfI43XKO2JTFkmjMaKsePtuOfW0Ts+VaK9qjEoSJC/1ITFzjCgP6xds0tYfQvTX6OXQ0Sav7ow9Fj8Q/yVCjuJcQ5UJ5D/UGWuxdUxSQHRo208bDz5Q4R+74LsXMR5FIk0DmVLhw+KrPrEJRjtGh/PnhYZheNUFIsnPuhMkIgqHAPj7CzXoIoKknn5pKU5uGnmLX5OxS8sLidh5tePQQuzKXlZmz+opMtVSuwdJgTHMtwijWgEEsBljZyBBqq1qwL4L+HQthaJ/I9G42GlLejaG49cWi024TzZ6Vy6Z/9OOFRhwqCevHKtR1J21KIpAcXoelQTEi9eya3SkrbkSD6xCMu3DnZgcEXmzm3EELm14Si1DdKnKVoW/i6l61eCimwWoAL+hlhtxmixaZc06d3zIUa9qmOGWHvjw5K9C+Nv9dkITJZnsrKUEnULiziPEBu8Ok/gtFZxYGmEHZ8I+H9DYGkgcvrU/DGcj+mVzg4eK1ZrwqHUndpSXJBWDVOs32XhH4lRp5a/vtLdUVVTr1EcNqUX2jmUEdBj8InbcmgcZ9mI+QLQwdbULdT5CnywAEmNVTukfDuB2owpvySOMtIhsmk3rc/oPBzUxQFrnwhezME9dDXlqrrEGTlNMemFP3ruR7uRUtqvVhYVQiT5mooTG78PMibtifMvCcvZY+gPEJ2TYGVVu9oi3yWKKpBjnpoJnuUtuc+/ICTp8ah5JmXp4kPTo+tDzx0n5PXXehZLHjNG9eWOtGsGfk4GWi9gwgGFUyf1cKhk2YiWTtkrFjdwYtExMx7nbBZDby+P/VWNU0fPCLjnffih45Lys147Ff56NvHyEKhxZ65s128aJMK+tx5vyngYcJmM6DQLfBCTtUcdepGw4nWjjPN0MEWVD9diJuut7Lw6bopj9DMgKbfC6vcuHRQLDBSm1eedfP0mtpQe1qMGnuTDQt+7+b3TwY6H02HKfzS7MPl+ullNZSVlSnZ9AWZyEolTb+efCTzy8s6p/CdSh0dXRA6yQWhf9k2d9HW3kTZIZvE8OI899m+hJyFtBA3ZGSTMHTODIk1F7JphqFz9ohoQP9l3xxlbHe/7JusYWJjnRz7cwCpDtLJ4T8YokUXBs5L0rn+D0fHRduHyl9qAAAAAElFTkSuQmCC" id="192"/&gt;&#xD;                &lt;/item&gt;&#xD;              &lt;/list&gt;&#xD;            &lt;/costumes&gt;&#xD;            &lt;sounds&gt;&#xD;              &lt;list id="193"/&gt;&#xD;            &lt;/sounds&gt;&#xD;            &lt;blocks/&gt;&#xD;            &lt;variables/&gt;&#xD;            &lt;scripts&gt;&#xD;              &lt;script x="10" y="10"&gt;&#xD;                &lt;block s="receiveGo"/&gt;&#xD;                &lt;block s="gotoXY"&gt;&#xD;                  &lt;l&gt;-200&lt;/l&gt;&#xD;                  &lt;l&gt;-120&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doSayFor"&gt;&#xD;                  &lt;l&gt;Explain Sort&lt;/l&gt;&#xD;                  &lt;l&gt;9999&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;              &lt;/script&gt;&#xD;              &lt;script x="10" y="90"&gt;&#xD;                &lt;block s="receiveInteraction"&gt;&#xD;                  &lt;l&gt;&#xD;                    &lt;option&gt;clicked&lt;/option&gt;&#xD;                  &lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;                &lt;block s="doBroadcast"&gt;&#xD;                  &lt;l&gt;explain sort&lt;/l&gt;&#xD;                &lt;/block&gt;&#xD;              &lt;/script&gt;&#xD;            &lt;/scripts&gt;&#xD;          &lt;/sprite&gt;&#xD;        &lt;/sprites&gt;&#xD;      &lt;/stage&gt;&#xD;      &lt;variables&gt;&#xD;        &lt;variable name="comparison count"&gt;&#xD;          &lt;l&gt;21&lt;/l&gt;&#xD;        &lt;/variable&gt;&#xD;        &lt;variable name="current list"&gt;&#xD;          &lt;list struct="atomic" id="200"&gt;7,3,9,2,5,1,8,4&lt;/list&gt;&#xD;        &lt;/variable&gt;&#xD;        &lt;variable name="sorted list"&gt;&#xD;          &lt;list struct="atomic" id="201"&gt;1,2,3,4,5,7,8,9&lt;/list&gt;&#xD;        &lt;/variable&gt;&#xD;      &lt;/variables&gt;&#xD;      &lt;watchers&gt;&#xD;        &lt;watcher var="comparison count" style="normal" x="10" y="5" color="243,118,29"/&gt;&#xD;        &lt;watcher var="current list" style="normal" x="10" y="30" color="243,118,29" extX="220" extY="130"/&gt;&#xD;        &lt;watcher var="sorted list" style="normal" x="250" y="30" color="243,118,29" extX="220" extY="130"/&gt;&#xD;      &lt;/watchers&gt;&#xD;    &lt;/scene&gt;&#xD;  &lt;/scenes&gt;&#xD;&lt;/project&gt;&#xD;</l></variable></variables></scene></scenes></project><media name="6.1 coding" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"></media></snapdata>