(* Content-type: application/vnd.wolfram.mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 13.2' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 158, 7] NotebookDataLength[ 25729, 590] NotebookOptionsPosition[ 22062, 521] NotebookOutlinePosition[ 22542, 541] CellTagsIndexPosition[ 22499, 538] WindowTitle->A Billion Bits of the Center Column of the Rule 30 Cellular \ Automaton | Example Notebook WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell["Basic Examples", "Subsection"], Cell["Retrieve the sequence packed into bytes:", "Text", CellChangeTimes->{{3.696186645510051*^9, 3.6961866545240507`*^9}, { 3.696187841532233*^9, 3.696187852829363*^9}, {3.778236183070999*^9, 3.778236210075581*^9}, 3.778952296345248*^9}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"bytes", "=", RowBox[{ "ResourceData", "[", "\"\\"", "]"}]}]], "Input", CellContext->Notebook, CellFrameLabels->None, CellChangeTimes->{{3.696186325360051*^9, 3.696186327021051*^9}, { 3.696186470495051*^9, 3.6961864722920513`*^9}, {3.696187844212501*^9, 3.6961878557606554`*^9}, {3.7779093176369457`*^9, 3.7779093230016747`*^9}, 3.7779094336426325`*^9, {3.778952290213735*^9, 3.778952291438727*^9}}, CellLabel->"In[1]:="], Cell[BoxData[ TagBox[ TemplateBox[{ RowBox[{ StyleBox[ TagBox["ByteArray", "SummaryHead"], "NonInterpretableSummary"], StyleBox["[", "NonInterpretableSummary"], DynamicModuleBox[{ Typeset`open$$ = False, Typeset`embedState$$ = "Ready"}, TemplateBox[{ TemplateBox[{ PaneSelectorBox[{False -> GridBox[{{ GridBox[{{ TagBox["\"125.0 MB\"", "SummaryItem"]}}, GridBoxAlignment -> { "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> False, GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, GridBoxSpacings -> { "Columns" -> {{2}}, "Rows" -> {{Automatic}}}, BaseStyle -> { ShowStringCharacters -> False, NumberMarks -> False, PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, GridBoxAlignment -> {"Rows" -> {{Top}}}, AutoDelete -> False, GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, BaselinePosition -> {1, 1}], True -> GridBox[{{ GridBox[{{ TagBox["\"125.0 MB\"", "SummaryItem"]}}, GridBoxAlignment -> { "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> False, GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, GridBoxSpacings -> { "Columns" -> {{2}}, "Rows" -> {{Automatic}}}, BaseStyle -> { ShowStringCharacters -> False, NumberMarks -> False, PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, GridBoxAlignment -> {"Rows" -> {{Top}}}, AutoDelete -> False, GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, BaselinePosition -> {1, 1}]}, Dynamic[Typeset`open$$], ImageSize -> Automatic]}, "SummaryPanel"], ButtonBox[ DynamicBox[ ToBoxes[ If[ Or[$VersionNumber < 11.2, CurrentValue["RunningEvaluator"] =!= "Local"], Style["This object cannot be used as input.", "SummaryEmbed"], BoxForm`EmbedSummaryLabel[ByteArray, 125000096, Dynamic[Typeset`embedState$$]]], StandardForm]], ButtonFunction :> BoxForm`EmbedSummaryInterpretation[ ByteArray, 10641851545074555104435334409417633353340468170163763265504, EvaluationBox[], Dynamic[Typeset`embedState$$], StandardForm], DefaultBaseStyle -> "SummaryEmbedButton", BaseStyle -> {"DialogStyle"}, Enabled -> Dynamic[ And[$VersionNumber >= 11.2, CurrentValue["RunningEvaluator"] === "Local", Typeset`embedState$$ === "Ready"]], Appearance -> Inherited, Method -> Inherited, Evaluator -> Automatic]}, "SummaryEmbedGrid"], DynamicModuleValues :> {}], StyleBox["]", "NonInterpretableSummary"]}]}, "CopyTag", DisplayFunction->(#& ), InterpretationFunction->("ByteArray[<125000000>]"& )], False, BoxID -> 10641851545074555104435334409417633353340468170163763265504, Editable->False, SelectWithContents->True, Selectable->False]], "Output", CellEditDuplicate->True, CellContext->"Notebook$$35$236114`", CellChangeTimes->{{3.696377005707614*^9, 3.69637702247129*^9}, { 3.696377225845625*^9, 3.696377236186659*^9}, 3.696377278504891*^9, { 3.696377319054945*^9, 3.6963773247475147`*^9}, 3.6963774601870575`*^9, { 3.696377490692107*^9, 3.696377510279066*^9}, 3.7777963302609577`*^9, 3.7778437288565435`*^9, 3.7778456879171824`*^9, 3.7779079899042215`*^9, 3.777908047312559*^9, 3.7779085949695807`*^9, 3.777909270683416*^9, 3.7779093332478285`*^9, 3.7779094444565105`*^9, 3.7779096904236865`*^9, 3.7779106920742426`*^9, 3.7779158341525493`*^9, 3.778002124507971*^9, 3.778236212225972*^9, 3.77895230543008*^9, 3.7789562155261*^9, 3.7789571589477973`*^9}, CellLabel->"Out[1]="] }, Open ]], Cell["Unpack the sequence as bits (this can take some time):", "Text", CellChangeTimes->{{3.7789356408807993`*^9, 3.7789356532691*^9}, { 3.778935704483283*^9, 3.7789357161894693`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"bits", "=", RowBox[{"Flatten", "[", RowBox[{ RowBox[{ RowBox[{"IntegerDigits", "[", RowBox[{"#", ",", "2", ",", "8"}], "]"}], "&"}], "/@", RowBox[{"Normal", "[", "bytes", "]"}]}], "]"}]}], ";"}]], "Input", CellContext->Notebook, CellChangeTimes->{{3.778935669244808*^9, 3.7789356865515947`*^9}}, CellLabel->"In[2]:="], Cell["The sequence contains a billion bits:", "Text", CellChangeTimes->{{3.778935698830194*^9, 3.778935722997257*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Length", "[", "bits", "]"}]], "Input", CellContext->Notebook, CellChangeTimes->{{3.778935688686453*^9, 3.7789356941310797`*^9}}, CellLabel->"In[3]:="], Cell[BoxData["1000000000"], "Output", CellContext->"Notebook$$18$952128`", CellChangeTimes->{3.778935726392002*^9, 3.778952629293586*^9, 3.778956237485684*^9, 3.778957181657082*^9}, CellLabel->"Out[3]="] }, Open ]], Cell["It uses about 8 GB of memory:", "Text", CellChangeTimes->{{3.778935727645446*^9, 3.778935745605669*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ByteCount", "[", "bits", "]"}]], "Input", CellContext->Notebook, CellChangeTimes->{{3.778935733082388*^9, 3.778935736333893*^9}}, CellLabel->"In[4]:="], Cell[BoxData["8000000144"], "Output", CellContext->"Notebook$$18$952128`", CellChangeTimes->{3.778935736749262*^9, 3.7789526364741907`*^9, 3.7789562375616817`*^9, 3.7789571817240815`*^9}, CellLabel->"Out[4]="] }, Open ]], Cell["Show the first 100 bits:", "Text", CellChangeTimes->{{3.778936761389304*^9, 3.7789367646414433`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Take", "[", RowBox[{"bits", ",", "100"}], "]"}]], "Input", CellContext->Notebook, CellChangeTimes->{{3.7789367670493927`*^9, 3.778936771661015*^9}}, CellLabel->"In[5]:="], Cell[BoxData[ RowBox[{"{", RowBox[{ "1", ",", "1", ",", "0", ",", "1", ",", "1", ",", "1", ",", "0", ",", "0", ",", "1", ",", "1", ",", "0", ",", "0", ",", "0", ",", "1", ",", "0", ",", "1", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "1", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "1", ",", "1", ",", "0", ",", "0", ",", "1", ",", "1", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "1", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "1", ",", "1", ",", "1", ",", "1", ",", "0", ",", "0", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "1", ",", "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "1", ",", "1", ",", "0", ",", "0"}], "}"}]], "Output", CellContext->"Notebook$$18$952128`", CellChangeTimes->{3.778940337288374*^9, 3.7789526450206137`*^9, 3.778956237641679*^9, 3.778957181792078*^9}, CellLabel->"Out[5]="] }, Open ]], Cell["Compare with a direct computation:", "Text", CellChangeTimes->{{3.7789367753467007`*^9, 3.7789367798767567`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"CellularAutomaton", "[", RowBox[{"30", ",", RowBox[{"{", RowBox[{ RowBox[{"{", "1", "}"}], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"100", ",", RowBox[{"{", RowBox[{"{", "0", "}"}], "}"}]}], "}"}]}], "]"}]], "Input", CellContext->Notebook, CellChangeTimes->{{3.778936782609387*^9, 3.7789367981029367`*^9}, { 3.778936862489134*^9, 3.7789368639823647`*^9}}, CellLabel->"In[6]:="], Cell[BoxData[ RowBox[{"{", RowBox[{ "1", ",", "1", ",", "0", ",", "1", ",", "1", ",", "1", ",", "0", ",", "0", ",", "1", ",", "1", ",", "0", ",", "0", ",", "0", ",", "1", ",", "0", ",", "1", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "1", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "1", ",", "1", ",", "0", ",", "0", ",", "1", ",", "1", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "1", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "1", ",", "1", ",", "1", ",", "1", ",", "0", ",", "0", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "1", ",", "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "1", ",", "1", ",", "0", ",", "0", ",", "0"}], "}"}]], "Output", CellContext->"Notebook$$18$952128`", CellChangeTimes->{3.778940337288374*^9, 3.77895265679468*^9, 3.7789562377216763`*^9, 3.7789571818610764`*^9}, CellLabel->"Out[6]="] }, Open ]], Cell["Count the total number of 1s and 0s in the full sequence:", "Text", CellChangeTimes->{{3.778935755890018*^9, 3.778935762406919*^9}, { 3.7789368214787893`*^9, 3.778936823680813*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Counts", "[", "bits", "]"}]], "Input", CellContext->Notebook, CellChangeTimes->{{3.778935749930475*^9, 3.7789357516496162`*^9}}, CellLabel->"In[7]:="], Cell[BoxData[ RowBox[{"\[LeftAssociation]", RowBox[{ RowBox[{"1", "\[Rule]", "500025038"}], ",", RowBox[{"0", "\[Rule]", "499974962"}]}], "\[RightAssociation]"}]], "Output",\ CellContext->"Notebook$$18$952128`", CellChangeTimes->{3.7789357557463408`*^9, 3.7789526778467407`*^9, 3.778956239634618*^9, 3.7789571837210345`*^9}, CellLabel->"Out[7]="] }, Open ]], Cell["Count the number of occurrences of possible 2-grams:", "Text", CellChangeTimes->{{3.7789358042821703`*^9, 3.778935812365686*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"SequenceCount", "[", RowBox[{"bits", ",", "#"}], "]"}], "&"}], "/@", RowBox[{"Tuples", "[", RowBox[{ RowBox[{"{", RowBox[{"1", ",", "0"}], "}"}], ",", "2"}], "]"}]}]], "Input", CellContext->Notebook, CellChangeTimes->{{3.7789357701322327`*^9, 3.778935799609766*^9}}, CellLabel->"In[8]:="], Cell[BoxData[ RowBox[{"{", RowBox[{"166676241", ",", "250000321", ",", "250000320", ",", "166655204"}], "}"}]], "Output", CellContext->"Notebook$$23$956151`", CellChangeTimes->{3.77893608243222*^9, 3.7789569057504816`*^9, 3.778957853466136*^9}, CellLabel->"Out[8]="] }, Open ]], Cell["Compute the running excess of 1s over 0s:", "Text", CellChangeTimes->{{3.7789358509502993`*^9, 3.778935864093951*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"acc", "=", RowBox[{"Accumulate", "[", RowBox[{ RowBox[{"2", "bits"}], "-", "1"}], "]"}]}], ";"}]], "Input", CellContext->Notebook, CellChangeTimes->{{3.778935866282756*^9, 3.778935878638487*^9}}, CellLabel->"In[9]:="], Cell["Find the extreme values:", "Text", CellChangeTimes->{{3.7789358892280817`*^9, 3.778935892602096*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"MinMax", "[", "acc", "]"}]], "Input", CellContext->Notebook, CellChangeTimes->{{3.778935881466735*^9, 3.778935885833528*^9}}, CellLabel->"In[10]:="], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"-", "257"}], ",", "55551"}], "}"}]], "Output", CellContext->"Notebook$$23$956151`", CellChangeTimes->{3.778936173319759*^9, 3.778956922489403*^9, 3.7789578709336834`*^9}, CellLabel->"Out[10]="] }, Open ]], Cell["Plot the running excess:", "Text", CellChangeTimes->{{3.778935993893135*^9, 3.778936001360519*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ListLinePlot", "[", RowBox[{"ArrayResample", "[", RowBox[{"acc", ",", RowBox[{"{", "1000", "}"}]}], "]"}], "]"}]], "Input", CellChangeTimes->{{3.7789596660500154`*^9, 3.778959670477895*^9}, { 3.778959718331403*^9, 3.7789597368398757`*^9}}, CellLabel->"In[21]:="], Cell[BoxData[ GraphicsBox[{{}, {{{}, {}, {RGBColor[0.368417, 0.506779, 0.709798], PointSize[0.006944444444444445], AbsoluteThickness[1.6], LineBox[CompressedData[" 1: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 HB/gZzcF/wecM966 "]]}}, {RGBColor[0.368417, 0.506779, 0.709798], PointSize[0.006944444444444445], AbsoluteThickness[1.6]}, { {RGBColor[0.368417, 0.506779, 0.709798], PointSize[0.006944444444444445], AbsoluteThickness[1.6]}, {}}, { {RGBColor[0.368417, 0.506779, 0.709798], PointSize[0.006944444444444445], AbsoluteThickness[1.6]}, {}}}, {{}, {}}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], Axes->{True, True}, AxesLabel->{None, None}, AxesOrigin->{0., 0}, DisplayFunction->Identity, Frame->{{False, False}, {False, False}}, FrameLabel->{{None, None}, {None, None}}, FrameTicks->{{Automatic, Automatic}, {Automatic, Automatic}}, GridLines->{None, None}, GridLinesStyle->Directive[ GrayLevel[0.5, 0.4]], Method->{ "OptimizePlotMarkers" -> True, "CoordinatesToolOptions" -> {"DisplayFunction" -> ({ (Identity[#]& )[ Part[#, 1]], (Identity[#]& )[ Part[#, 2]]}& ), "CopiedValueFunction" -> ({ (Identity[#]& )[ Part[#, 1]], (Identity[#]& )[ Part[#, 2]]}& )}}, PlotRange->{{0., 1000.}, {0, 55496.}}, PlotRangeClipping->True, PlotRangePadding->{{ Scaled[0.02], Scaled[0.02]}, { Scaled[0.02], Scaled[0.05]}}, Ticks->{Automatic, Automatic}]], "Output", CellChangeTimes->{ 3.7789596717581315`*^9, {3.7789597260618806`*^9, 3.7789597381568356`*^9}}, CellLabel->"Out[21]="] }, Open ]] }, Open ]] }, ClosingSaveDialog->False, WindowSize->Automatic, WindowMargins->Automatic, WindowTitle->"A Billion Bits of the Center Column of the Rule 30 Cellular \ Automaton | Example Notebook", Visible->True, DockedCells->{}, FrontEndVersion->"13.2 for Mac OS X x86 (64-bit) (November 18, 2022)", StyleDefinitions->"Default.nb" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[684, 24, 36, 0, 70, "Subsection",ExpressionUUID->"3178f78d-502f-4039-9c96-496b6121cbe6"], Cell[723, 26, 246, 3, 70, "Text",ExpressionUUID->"45e01f2b-b9ce-4659-830f-0a650f38ea98"], Cell[CellGroupData[{ Cell[994, 33, 542, 12, 70, "Input",ExpressionUUID->"19d4b821-a405-468f-b771-7fb3c51b9568"], Cell[1539, 47, 4342, 89, 70, "Output",ExpressionUUID->"0f336aa5-d525-42c9-a2cf-2a7fba414529"] }, Open ]], Cell[5896, 139, 187, 2, 70, "Text",ExpressionUUID->"5501f546-dd19-47df-9198-851d3c42dde5"], Cell[6086, 143, 389, 11, 70, "Input",ExpressionUUID->"de746413-86da-4a11-8459-34bcfc18d33e"], Cell[6478, 156, 119, 1, 70, "Text",ExpressionUUID->"b3b86f53-76a0-4136-b69e-66459d7689b8"], Cell[CellGroupData[{ Cell[6622, 161, 177, 4, 70, "Input",ExpressionUUID->"19051cc9-cdde-402e-88b6-4f7123b1045c"], Cell[6802, 167, 209, 4, 70, "Output",ExpressionUUID->"22b75b6a-fe13-408d-921c-d617a7270276"] }, Open ]], Cell[7026, 174, 111, 1, 70, "Text",ExpressionUUID->"9ccf3c50-5287-4d66-ade5-233411bb142a"], Cell[CellGroupData[{ Cell[7162, 179, 178, 4, 70, "Input",ExpressionUUID->"31028755-27b3-4e92-9ea8-1472a349bfdd"], Cell[7343, 185, 215, 4, 70, "Output",ExpressionUUID->"a374abfc-2507-444f-bf02-eb4bb8ccd3bf"] }, Open ]], Cell[7573, 192, 108, 1, 70, "Text",ExpressionUUID->"3be23b55-cc94-4a74-b641-08b98cca4a25"], Cell[CellGroupData[{ Cell[7706, 197, 200, 5, 70, "Input",ExpressionUUID->"3b8eba7f-3150-4461-ae68-2573d41c7a7c"], Cell[7909, 204, 1282, 20, 70, "Output",ExpressionUUID->"53bd74d1-6bce-4208-89f7-dd9fdac87d46"] }, Open ]], Cell[9206, 227, 120, 1, 70, "Text",ExpressionUUID->"e37c7e40-dfb4-4376-b2e5-834fd0b67dd2"], Cell[CellGroupData[{ Cell[9351, 232, 449, 13, 70, "Input",ExpressionUUID->"eb39637e-29ea-4e90-a780-ec2ad29793fc"], Cell[9803, 247, 1293, 20, 70, "Output",ExpressionUUID->"8cd1c968-0596-40ce-9eb0-9a5ac23c97b5"] }, Open ]], Cell[11111, 270, 190, 2, 70, "Text",ExpressionUUID->"c1c0818e-5655-4163-8745-6a2c2b727d45"], Cell[CellGroupData[{ Cell[11326, 276, 177, 4, 70, "Input",ExpressionUUID->"e2f3d648-f353-47aa-a520-dcb9336ab2e2"], Cell[11506, 282, 364, 9, 70, "Output",ExpressionUUID->"3fb0eb6a-ee61-4d99-a844-ac79ba2b9983"] }, Open ]], Cell[11885, 294, 136, 1, 70, "Text",ExpressionUUID->"f3dad8d7-c8c1-4fcb-adc4-9bec1502d83b"], Cell[CellGroupData[{ Cell[12046, 299, 360, 11, 70, "Input",ExpressionUUID->"b68c50e2-4e7e-4f49-8ab7-f504ed1b3bb8"], Cell[12409, 312, 279, 7, 70, "Output",ExpressionUUID->"ef94733f-c622-4397-af76-db82097c7324"] }, Open ]], Cell[12703, 322, 125, 1, 70, "Text",ExpressionUUID->"1f42ff92-298c-4509-80f7-911834eacef5"], Cell[12831, 325, 269, 8, 70, "Input",ExpressionUUID->"9ceae3f1-31a4-49f8-9fba-1ea1268d6d59"], Cell[13103, 335, 108, 1, 70, "Text",ExpressionUUID->"f54470d3-a40e-4051-8258-51a59e84917b"], Cell[CellGroupData[{ Cell[13236, 340, 175, 4, 70, "Input",ExpressionUUID->"5647811f-0ced-4983-bb24-39a1458257e6"], Cell[13414, 346, 251, 7, 70, "Output",ExpressionUUID->"d07a2861-d1f6-4d77-b410-07ba2d6e7294"] }, Open ]], Cell[13680, 356, 106, 1, 70, "Text",ExpressionUUID->"fe3946d6-dbf5-4a37-a817-c46be2fa6134"], Cell[CellGroupData[{ Cell[13811, 361, 302, 7, 70, "Input",ExpressionUUID->"a2198145-b042-46f2-8fa8-2a15279f3961"], Cell[14116, 370, 7918, 147, 70, "Output",ExpressionUUID->"196ff590-93f9-4248-8b1c-9e41430e122f"] }, Open ]] }, Open ]] } ] *) (* End of internal cache information *)