(* Content-type: application/vnd.wolfram.mathematica *)

(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)

(* CreatedBy='Wolfram 15.0' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       154,          7]
NotebookDataLength[     41495,       1079]
NotebookOptionsPosition[     34122,        941]
NotebookOutlinePosition[     36269,        991]
CellTagsIndexPosition[     36192,        986]
WindowTitle->$OracleCompiledDigests
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{
Cell[BoxData[GridBox[{
   {GridBox[{
      {
       ItemBox[Cell[BoxData[
         RowBox[{
          TemplateBox[{12},
           "Spacer1"], Cell[
          "WOLFRAM INSTITUTE/ PUZZLES SYMBOL", "PacletNameCell",
           TextAlignment->Center,ExpressionUUID->
           "71bd5d13-a078-40ca-be5a-0e6a16f1056b"], 
          TemplateBox[{8},
           "Spacer1"]}]],
         TextAlignment->Center,ExpressionUUID->
         "567e2d96-c2ba-466a-a55b-5b58c2295b13"],
        Background->LightDarkSwitched[
          RGBColor[0.490196, 0.576471, 0.690196]],
        ItemSize->Full], ""}
     },
     GridBoxAlignment->{"Rows" -> {{Center}}},
     GridBoxItemSize->{"Columns" -> {Full, 
         Scaled[0.02]}, "Rows" -> {{2.5}}}], Cell[TextData[{
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "See Also",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "98c53fdf-6eed-45b8-8495-20ea0e8dd522"]
         }],ExpressionUUID->"a1b4a6c0-edef-467f-bebc-406089b1e8cf"],
         StripOnInput->False],{
        StyleBox["\"Compile\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup["paclet:ref/Compile"], Delimiter, 
         StyleBox[
          "\"Functions\"", "SeeAlsoSection", FontSize -> 14, FontSlant -> 
           "Italic", StripOnInput -> False] :> 
         NotebookFind[EvaluationNotebook[], "SeeAlsoSection", All, CellStyle],
          StyleBox[
          StyleBox["\"HashChain\"", "SeeAlsoRelated", StripOnInput -> False], 
           "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/HashChain"], 
         StyleBox[
          StyleBox[
           "\"OracleBenchmark\"", "SeeAlsoRelated", StripOnInput -> False], 
           "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/OracleBenchmark"], 
         StyleBox[
          StyleBox["\"OracleScan\"", "SeeAlsoRelated", StripOnInput -> False],
            "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/OracleScan"], 
         StyleBox[
          StyleBox[
           "\"$OracleHashMethods\"", "SeeAlsoRelated", StripOnInput -> False],
            "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/$OracleHashMethods"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"SeeAlso"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "5abd4cc5-15bb-40aa-908a-7a753d07bfb1"],
     "\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\
\[ThickSpace]",
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "Related Guides",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "eec8cd24-2263-4b85-81ec-515b9a09e3df"]
         }],ExpressionUUID->"963876ec-dd7b-47e6-b7dc-c138380ccc33"],
         StripOnInput->False],{
        "\"Oracles\"" :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/guide/Oracles"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"MoreAbout"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "b91baeb4-5b4c-47be-8d0c-b8b2e8f54b23"],
     "\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\
\[ThickSpace]",
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "URL",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "264b8a94-a9a2-4fe6-8b31-b9d19179c9bc"]
         }],ExpressionUUID->"3ec3e967-ec37-4d23-95fe-358a8870be00"],
         StripOnInput->False],{
        "\"WolframInstitute/Puzzles/ref/$OracleCompiledDigests\"" :> None, 
         "\"Copy Wolfram Documentation Center URL\"" :> 
         CopyToClipboard[
          "WolframInstitute/Puzzles/ref/$OracleCompiledDigests"], Delimiter, 
         "\"Copy web URL\"" :> 
         Module[{DocumentationSearch`Private`nb$}, 
           DocumentationSearch`Private`nb$ = 
            NotebookPut[
             Notebook[{
               Cell[BoxData[
                 MakeBoxes[
                  Hyperlink[
                   "http://reference.wolfram.com/language/WolframInstitute/\
Puzzles/ref/$OracleCompiledDigests.html"], StandardForm]], "Input", 
                 TextClipboardType -> "PlainText"]}, Visible -> False]]; 
           SelectionMove[DocumentationSearch`Private`nb$, All, Notebook]; 
           FrontEndTokenExecute[DocumentationSearch`Private`nb$, "Copy"]; 
           NotebookClose[DocumentationSearch`Private`nb$]; Null], 
         "\"Go to web URL\"" :> 
         FrontEndExecute[{
           NotebookLocate[{
             URL[If[TrueQ[False], 
                 "http://reference.wolfram.com/system-modeler/", 
                 "http://reference.wolfram.com/language/"] <> 
               "WolframInstitute/Puzzles/ref/$OracleCompiledDigests" <> 
               ".html"], None}]}]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"URLMenu"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "3411f503-b383-45dd-8129-f5caa3b0a4cb"]
    }], "AnchorBar",
     CacheGraphics->False,ExpressionUUID->
     "b4a1da96-72a1-4281-97d8-048d71a6ecca"]}
  }]], "AnchorBarGrid",
 CellID->1,ExpressionUUID->"1cecf984-b97c-4d7f-b115-b587a6a04357"],

Cell["WolframInstitute`Puzzles`", "ContextNameCell",ExpressionUUID->"d0190bbb-8e23-4171-a2a1-8bf9b695d28a"],

Cell[CellGroupData[{

Cell[BoxData[GridBox[{
   {Cell[TextData[{
     Cell[
     "$OracleCompiledDigests", "ObjectName",ExpressionUUID->
      "c4104379-0d70-41ca-8b4a-5db355abc066"],
     Cell[BoxData[
      TemplateBox[{8},
       "Spacer1"]],ExpressionUUID->"5b35a014-7076-4386-8fc4-2935f7462ed6"],
     Cell[BoxData[
     ""], "ObjectNameTranslation",ExpressionUUID->
      "8a23d203-6f12-438f-a0e1-c3074d285b0b"]
    }],ExpressionUUID->"dcc74a5f-145b-42d7-930e-166061e8f3f0"], 
    "\[SpanFromLeft]"}
  }]], "ObjectNameGrid",ExpressionUUID->"a09b8236-948a-4871-8870-\
4e4c971ea308"],

Cell[BoxData[GridBox[{
   {"", Cell[TextData[{
     Cell[BoxData[
      TemplateBox[{
        Cell[
         TextData["$OracleCompiledDigests"]], 
        "paclet:WolframInstitute/Puzzles/ref/$OracleCompiledDigests", 
        "WolframInstitute/Puzzles Package Symbol"},
       "PackageLink",
       BaseStyle->"InlineFormula"]], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "6d731cf1-e820-443d-9ff2-0e141547efd9"],
     "\[LineSeparator]",
     "is an ",
     Cell[BoxData["Association"], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "4b7b6e35-cf21-4b32-9d41-9fdfefe6f62f"],
     " from digest name to the compilation target in force for it, giving the \
digests that have a compiled kernel available."
    }],ExpressionUUID->"6daa854b-40af-4983-8a3b-10e09e126f8c"]}
  }]], "Usage",ExpressionUUID->"1581e6ad-112d-4d92-962d-d1faeca5d714"]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[Cell[BoxData[Cell[TextData[{
  Cell[BoxData[
   DynamicBox[ToBoxes[
     If[CurrentValue[
        EvaluationCell[], "CellGroupOpen"] =!= Closed, 
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], 
      Rotate[
       Style[
        Graphics[{
          Thickness[0.18], 
          RGBColor[0.8509803921568627, 0.396078431372549, 0], 
          Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
         PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
        0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]],
    ImageSizeCache->{
     13.600000000000001`, {-0.1685058593749993, 13.768505859375}}]],
   ExpressionUUID->"0fb37ba2-8a49-41bb-90fb-bc22d2d62384"],
  Cell[BoxData[
   TemplateBox[{1},
    "Spacer1"]],ExpressionUUID->"4d7758e4-2d0a-4794-bc4e-6d757cb05be7"],
  "Details and Options"
 }], "NotesFrameText",ExpressionUUID->
  "1e4d542f-0caa-4ac6-b8b3-32f0b72237ef"]],ExpressionUUID->"4e9c141a-dad3-\
4e1e-a8cb-df01355899a9"]], "NotesSection",
 ShowGroupOpener->"Thumbnail",
 WholeCellGroupOpener->True,
 CellGroupingRules->{"SectionGrouping", 50},
 CacheGraphics->False,
 CellID->1827846865,ExpressionUUID->"270bdfb9-41cd-42b7-a6ca-ae6e184e90a5"],

Cell[TextData[{
 "The values are ",
 Cell[BoxData["\<\"C\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "9786b372-e55e-4bba-ae57-aeebbe9b02d7"],
 " for a kernel compiled through a C compiler and ",
 Cell[BoxData["\<\"WVM\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "a7aa5029-9261-4381-a061-8b41a55295e6"],
 " for one compiled to the Wolfram virtual machine."
}], "Notes",ExpressionUUID->"67a350aa-3437-48fe-ae77-1946eb8d16d2"],

Cell[TextData[{
 "Only ",
 Cell[BoxData["\<\"SHA256\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "cf022a88-fc37-4bb9-a7c4-8b9536ffa6bf"],
 " and ",
 Cell[BoxData["\<\"RIPEMD160\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "fffff5b6-8001-4688-b3db-27bad5c3327d"],
 " have compiled kernels; ",
 Cell[BoxData["\<\"RIPEMD160SHA256\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "3dbecc19-c188-47c1-82fa-ce1ee6fc3340"],
 " uses them in composition, and every other method in ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["$OracleHashMethods"]], 
    "paclet:WolframInstitute/Puzzles/ref/$OracleHashMethods", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "82cfdbf3-334c-4828-964c-55e33bb71dfd"],
 " is computed by the kernel's ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["Hash"]], "paclet:ref/Hash"},
   "RefLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "87d07f37-6bfb-415d-8a33-a6848e2892d3"],
 "."
}], "Notes",ExpressionUUID->"750b82bd-7e20-47cf-bbe9-e23741de1b8f"],

Cell[TextData[{
 "A digest is listed only after its compiled kernel has reproduced its \
published test vectors and then agreed with the kernel's ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["Hash"]], "paclet:ref/Hash"},
   "RefLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "42617a06-d86e-45bf-abc2-a1f63987f56e"],
 " on every message length from 0 to 135 bytes, which straddles both padding \
boundaries."
}], "Notes",ExpressionUUID->"d37ad5cd-5b18-49ab-bf66-07c7262613f8"],

Cell[TextData[{
 "A kernel that fails that check is discarded and the digest is computed by \
",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["Hash"]], "paclet:ref/Hash"},
   "RefLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "9af92cc9-7261-4b72-b836-9d4cfe4ed3ba"],
 " instead, so a compiled kernel can cost speed but never correctness."
}], "Notes",ExpressionUUID->"9667d164-f558-47c2-869d-967655bba390"],

Cell[TextData[{
 "Compilation to C is attempted first and the virtual machine is the \
fallback, so the list is the same on a machine with no C compiler, with ",
 Cell[BoxData["\<\"WVM\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "7d672982-105d-4f87-a528-8068d0fa679a"],
 " in place of ",
 Cell[BoxData["\<\"C\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "b05c3a6e-5923-409d-b19d-e5162c79ffde"],
 "."
}], "Notes",ExpressionUUID->"16cc13f4-049c-476e-9e83-1fb1de13ef72"],

Cell["\<\
Evaluating this builds and validates every compiled kernel, which takes a few \
seconds once per session.\
\>", "Notes",ExpressionUUID->"a8083153-ceab-4f51-bf0e-a15468d81b88"],

Cell[TextData[{
 "A digest that is absent is not an error; it means the kernel's ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["Hash"]], "paclet:ref/Hash"},
   "RefLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "c237863e-0efb-4ea0-9e73-b8274cbcc5a2"],
 " is the only implementation for it."
}], "Notes",ExpressionUUID->"3cbf56e1-3abf-47c9-bf76-623b761f2625"]
}, Closed]],

Cell["", "PageDelimiter",ExpressionUUID->"875508e6-01eb-413a-8045-4a79d140fbfd"],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[
     MatchQ[
      CurrentValue[
       EvaluationNotebook[], {
       TaggingRules, "Openers", "PrimaryExamplesSection"}, Open], 
      Alternatives[True, Open]], 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]],
   ImageSizeCache->{
    13.600000000000001`, {4.251494140625001, 9.348505859375}}]],
  ExpressionUUID->"09ff5c00-068f-4097-bc89-2f9637faf2f7"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"c348eda4-12b0-40d0-8887-1bc90bfa857c"],
 "Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(7)", "ExampleCount",ExpressionUUID->
  "1c404fde-0107-4909-8037-3d0bc207c2b9"]
}], "PrimaryExamplesSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->868689720,ExpressionUUID->"153f87c7-184f-4a3c-bf67-ed600430f114"],

Cell[BoxData[
 RowBox[{"Needs", "[", "\"\<WolframInstitute`Puzzles`\>\"", "]"}]], "Input", \
"ExampleInitialization",
 CellLabel->"In[1]:=",
 CellID->1969679695,ExpressionUUID->"9524e582-60de-4561-af28-565bfb6628a5"],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "423e95e9-6ba0-498f-acbf-49ecea1f9032"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"727afff4-04e4-4dfd-898f-939d3d91d7c2"],
 "Basic Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(2)", "ExampleCount",ExpressionUUID->
  "44aa7eb6-e7ad-4ec8-8a5d-260ede11a344"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1474291734,ExpressionUUID->"6b2a1c6c-8f86-4fde-9e5d-f5b385adbc60"],

Cell["\<\
The digests with a validated compiled kernel, and how each was compiled:\
\>", "ExampleText",
 CellTags->
  "TextAnnotation",ExpressionUUID->"70d8171f-130e-4265-a8c4-39502065af96"],

Cell[CellGroupData[{

Cell[BoxData["$OracleCompiledDigests"], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"1afa1871-1e64-4f2d-aedc-fbd5c394332e"],

Cell[BoxData[
 RowBox[{"\[LeftAssociation]", 
  RowBox[{
   RowBox[{"\<\"RIPEMD160\"\>", "\[Rule]", "\<\"C\"\>"}], ",", 
   RowBox[{"\<\"SHA256\"\>", "\[Rule]", "\<\"C\"\>"}], ",", 
   RowBox[{"\<\"SHA512\"\>", "\[Rule]", "\<\"C\"\>"}]}], 
  "\[RightAssociation]"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"77504df9-ecf9-461f-924a-637571ee3d6b"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "a66de79c-67a8-4078-b4b4-9c8fc86f2816"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"178c7f35-68e8-4b90-\
bca0-b63d2f8ff46a"],

Cell["\<\
SHA-256, the digest most puzzle targets are built from, has one:\
\>", "ExampleText",ExpressionUUID->"9d6cd84b-e9e5-473a-9c8d-692bc14085ea"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"KeyExistsQ", "[", 
  RowBox[{"$OracleCompiledDigests", ",", " ", "\"\<SHA256\>\""}], 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"0a0278a9-46e6-4e32-addd-aefe4ccf57aa"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"49b1b46c-bafb-434c-a9af-6263d7fc6f70"]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "a542ae17-368a-41dd-9e20-ff06170427f5"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"39c5be45-f1a9-4531-a1c5-a4c154946c89"],
 "Scope",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(2)", "ExampleCount",ExpressionUUID->
  "719cefa0-09d2-4f81-88c1-afc645e5bdd6"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1293636265,ExpressionUUID->"177abdea-0d2c-45ff-8a5d-304ffefca1be"],

Cell[TextData[{
 "Keccak-256 has no compiled kernel, so it is absent and goes through the \
kernel's ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["Hash"]], "paclet:ref/Hash"},
   "RefLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "b257b094-5bdc-4247-b17b-ff7698fea156"],
 ":"
}], "ExampleText",ExpressionUUID->"b684eefa-8dfb-4b40-90dc-1e5676158877"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"KeyExistsQ", "[", 
  RowBox[{"$OracleCompiledDigests", ",", " ", "\"\<Keccak256\>\""}], 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"ce8e1166-3ec8-4455-9c15-62aa8e8c8414"],

Cell[BoxData["False"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"68e7c687-b656-4e6c-8868-a404c2de3862"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "b5e97d0b-fd7e-412b-bceb-fa6f3197ec41"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"8e0453f0-56e9-454e-\
b34a-87408fe00a28"],

Cell["Every listed digest is also an accepted method:", "ExampleText",ExpressionUUID->"ec1e4e51-c413-4ae5-9f1a-1d830158f104"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"ContainsAll", "[", 
  RowBox[{"$OracleHashMethods", ",", " ", 
   RowBox[{"Keys", "[", "$OracleCompiledDigests", "]"}]}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"c9a7ba54-f629-4c0a-8cf7-f9561c2feaa1"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"8993562e-5bf7-4f2c-b5d6-e78a9353ee3a"]
}, Open  ]]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "8c9f280a-4ead-4b9c-9b62-d985d19b9641"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"8eb7ed6a-c8da-4132-b710-c6f54ceab5f7"],
 "Applications",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(1)", "ExampleCount",ExpressionUUID->
  "ab4c9c07-2671-4e5f-adf2-5a6054757459"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->258228157,ExpressionUUID->"1144fd93-683a-45a9-b9f9-829252b864f6"],

Cell[TextData[{
 "The speed the compiled kernel buys over the kernel's ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["Hash"]], "paclet:ref/Hash"},
   "RefLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "23be24b3-b824-4771-8b58-cb5809e335a0"],
 " on the same batch:"
}], "ExampleText",ExpressionUUID->"742ce5aa-182b-4f78-a1a0-433f3d62b947"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"With", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"batch", " ", "=", " ", 
     RowBox[{"Table", "[", 
      RowBox[{
       RowBox[{"ByteArray", "[", 
        RowBox[{"IntegerDigits", "[", 
         RowBox[{"k", ",", " ", "256", ",", " ", "32"}], "]"}], "]"}], ",", 
       " ", 
       RowBox[{"{", 
        RowBox[{"k", ",", " ", "1", ",", " ", "20000"}], "}"}]}], "]"}]}], 
    "}"}], ",", "\n", "\t", 
   RowBox[{"Round", "[", "\n", "\t\t", 
    RowBox[{
     RowBox[{"First", "[", 
      RowBox[{"AbsoluteTiming", "[", 
       RowBox[{"HashChain", "[", 
        RowBox[{
        "batch", ",", " ", "\"\<SHA256\>\"", ",", " ", "1", ",", 
         " ", "\"\<HexString\>\"", ",", " ", 
         RowBox[{"\"\<Implementation\>\"", " ", "->", 
          " ", "\"\<Kernel\>\""}]}], "]"}], "]"}], "]"}], " ", "/", "\n", 
     "\t\t", 
     RowBox[{"First", "[", 
      RowBox[{"AbsoluteTiming", "[", 
       RowBox[{"HashChain", "[", 
        RowBox[{
        "batch", ",", " ", "\"\<SHA256\>\"", ",", " ", "1", ",", 
         " ", "\"\<HexString\>\"", ",", " ", 
         RowBox[{"\"\<Implementation\>\"", " ", "->", 
          " ", "\"\<Compiled\>\""}]}], "]"}], "]"}], "]"}]}], "\n", "\t", 
    "]"}]}], "\n", "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"a96951ab-64d3-46d1-98a1-24311e4bbb0a"],

Cell[BoxData["113"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"45550c2e-7663-4bcd-bf6d-11c99ff77a4e"]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "5530ed8c-97cc-4042-a2c2-d583c625951a"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"b4e50627-a832-4bfe-8af3-0f1d839712fd"],
 "Properties & Relations",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(1)", "ExampleCount",ExpressionUUID->
  "a9ee6898-4dad-4242-818e-a003aad2a3e4"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->2123667759,ExpressionUUID->"d64f3ce2-8ed1-4f3a-982c-d175e4c252b4"],

Cell[TextData[{
 "A digest listed here is computed by the compiled kernel when ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["HashChain"]], "paclet:WolframInstitute/Puzzles/ref/HashChain", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "094391eb-945a-4f7f-a064-d7610eb38df3"],
 " is left to choose, and both implementations give the same answer:"
}], "ExampleText",ExpressionUUID->"ecc0de45-1de2-4bc9-82e1-5c5e769dde78"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"HashChain", "[", 
   RowBox[{"\"\<abc\>\"", ",", " ", "\"\<SHA256\>\"", ",", " ", "1", ",", 
    " ", "\"\<HexString\>\"", ",", " ", 
    RowBox[{"\"\<Implementation\>\"", " ", "->", " ", "\"\<Compiled\>\""}]}], 
   "]"}], " ", "===", "\n", "\t", 
  RowBox[{"HashChain", "[", 
   RowBox[{"\"\<abc\>\"", ",", " ", "\"\<SHA256\>\"", ",", " ", "1", ",", 
    " ", "\"\<HexString\>\"", ",", " ", 
    RowBox[{"\"\<Implementation\>\"", " ", "->", " ", "\"\<Kernel\>\""}]}], 
   "]"}]}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"6992cb71-2901-4178-9dd3-211cc1337a43"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"a956a63f-db8b-4a00-a3fc-9cfcc5e6cc09"]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "1bca45bd-a84c-48de-9bde-5e1cb11c5b18"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"384b7a64-8fd4-450f-99c7-94b214b2d506"],
 "Possible Issues",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(1)", "ExampleCount",ExpressionUUID->
  "df7a3c63-eb82-4d24-bdd0-27f92d9dd4d7"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1305812373,ExpressionUUID->"3533d34e-2ecf-48c4-bb33-30ebac280e85"],

Cell[TextData[{
 "Asking for the ",
 Cell[BoxData["\<\"Compiled\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "c78ef77a-3941-4526-ad3d-b1b6b72cc1fc"],
 " implementation of a digest that has no compiled kernel leaves the call \
unevaluated, rather than falling back silently to a slower path the caller \
did not ask for:"
}], "ExampleText",ExpressionUUID->"9b56a096-fbdc-479f-852f-b8de6e073cb9"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"HashChain", "[", 
  RowBox[{"\"\<abc\>\"", ",", " ", "\"\<Keccak256\>\"", ",", " ", "1", ",", 
   " ", "\"\<HexString\>\"", ",", " ", 
   RowBox[{"\"\<Implementation\>\"", " ", "->", " ", "\"\<Compiled\>\""}]}], 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"248b4b70-c416-46db-afa4-e0d2c0dd4044"],

Cell[BoxData[
 RowBox[{"HashChain", "[", 
  RowBox[{"\<\"abc\"\>", ",", "\<\"Keccak256\"\>", ",", "1", 
   ",", "\<\"HexString\"\>", ",", 
   RowBox[{"\<\"Implementation\"\>", "\[Rule]", "\<\"Compiled\"\>"}]}], 
  "]"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"cfd9c105-5d17-426d-a1a3-dccb355bd8d5"]
}, Open  ]]
}, Closed]]
}, Open  ]],

Cell[BoxData[GridBox[{
   {
    DynamicBox[FEPrivate`ImportImage[
      FrontEnd`FileName[{"Documentation", "FooterIcons"}, 
       "RelatedFunction.png"]],
     ImageSizeCache->{50., {26.47265625, 33.52734375}}], GridBox[{
      {
       StyleBox[
        RowBox[{"See", " ", "Also"}], "SeeAlsoSection"]},
      {Cell[TextData[{
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["HashChain"]], 
           "paclet:WolframInstitute/Puzzles/ref/HashChain", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "d69475d5-ee6a-4155-b9c3-94cd08705fe9"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["OracleBenchmark"]], 
           "paclet:WolframInstitute/Puzzles/ref/OracleBenchmark", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "84923e52-4b15-4e0c-95e8-70ba83ef22b8"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["OracleScan"]], 
           "paclet:WolframInstitute/Puzzles/ref/OracleScan", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "f6058445-a29a-4eeb-8989-1afadf411939"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["$OracleHashMethods"]], 
           "paclet:WolframInstitute/Puzzles/ref/$OracleHashMethods", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "ddc7817a-c468-4586-96cf-4f41596e7935"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Compile"]], "paclet:ref/Compile"},
          "RefLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "ac57954a-de8b-40ef-970c-c4e28e3a4701"]
       }], "SeeAlso",ExpressionUUID->"89632413-48d3-41c9-a52e-71240a67b388"]}
     }]}
  }]], "SeeAlsoSection",ExpressionUUID->"e459cd2e-b3cb-463c-b63f-\
2851855ad5e6"],

Cell[BoxData[GridBox[{
   {
    DynamicBox[FEPrivate`ImportImage[
      FrontEnd`FileName[{"Documentation", "FooterIcons"}, "RelatedGuide.png"]],
     ImageSizeCache->{50., {26.47265625, 33.52734375}}], GridBox[{
      {
       StyleBox[
        RowBox[{"Related", " ", "Guides"}], "MoreAboutSection"]},
      {
       RowBox[{"\[FilledVerySmallSquare]", Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Oracles"]], 
           "paclet:WolframInstitute/Puzzles/guide/Oracles"},
          "RefLinkPlain",
          BaseStyle->{"MoreAbout"}]], "MoreAbout",ExpressionUUID->
         "63f6cd64-8487-48b9-9b2d-98816aab6a93"]}]}
     }]}
  }]], "MoreAboutSection",ExpressionUUID->"82761355-3b59-486d-b279-\
a1d9bf724c77"],

Cell[" ", "FooterCell",ExpressionUUID->"25b7fbde-2d5d-4f4c-b67a-ec3f2663ec87"]
},
Saveable->False,
ScreenStyleEnvironment->"Working",
WindowSize->{900, 830},
WindowMargins->{{0, Automatic}, {Automatic, 0}},
WindowTitle->"$OracleCompiledDigests",
TaggingRules->{
 "ModificationHighlight" -> False, "ColorType" -> "", "LinkTrails" -> "", 
  "ExampleCounter" -> 1, 
  "Openers" -> {
   "PrimaryExamplesSection" -> Open, "ExampleSection" -> {"0" -> Open}, 
    "AllOptsTable" -> Closed}, "NewStyles" -> True, 
  "CitationPopupData" -> $Failed, "ShowCitation" -> False, "HasOptions" -> 
  True, "RootCaptions" -> "", "HeaderCoreAreaLink" -> {}, 
  "Metadata" -> {
   "built" -> "{2026, 8, 27, 0, 12, 3.093817}", 
    "history" -> {"XX", "", "", ""}, "context" -> "WolframInstitute`Puzzles`",
     "keywords" -> {}, "specialkeywords" -> {}, 
    "tutorialcollectionlinks" -> {}, "index" -> True, "label" -> 
    "Wolfram Institute/ Puzzles Symbol", "language" -> "en", "paclet" -> 
    "WolframInstitute/Puzzles", "status" -> "None", "summary" -> 
    "PackageLink[$OracleCompiledDigests, paclet : \
WolframInstitute/Puzzles/ref/$OracleCompiledDigests, WolframInstitute/Puzzles \
Package Symbol] is an Association from digest name to the compilation target \
in force for it, giving the digests that have a compiled kernel available.", 
    "synonyms" -> {}, "tabletags" -> {}, "title" -> "$OracleCompiledDigests", 
    "titlemodifier" -> "", "metadescription" -> "", "windowtitle" -> 
    "$OracleCompiledDigests", "type" -> "Symbol", "uri" -> 
    "WolframInstitute/Puzzles/ref/$OracleCompiledDigests", 
    "WorkflowDockedCell" -> ""}, "SearchTextTranslated" -> ""},
CellContext->CellGroup,
FrontEndVersion->"15.0 for Mac OS X ARM (64-bit) (May 19, 2026)",
StyleDefinitions->FrontEnd`FileName[{"Wolfram"}, "Reference.nb"],
ExpressionUUID->"ebf4bb06-3dab-45c6-883e-c930546621ea"
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{
 "TextAnnotation"->{
  Cell[17295, 463, 190, 4, 70, "ExampleText",ExpressionUUID->"70d8171f-130e-4265-a8c4-39502065af96",
   CellTags->"TextAnnotation"]}
 }
*)
(*CellTagsIndex
CellTagsIndex->{
 {"TextAnnotation", 36035, 980}
 }
*)
(*NotebookFileOutline
Notebook[{
Cell[590, 21, 6298, 152, 70, "AnchorBarGrid",ExpressionUUID->"1cecf984-b97c-4d7f-b115-b587a6a04357",
 CellID->1],
Cell[6891, 175, 107, 0, 70, "ContextNameCell",ExpressionUUID->"d0190bbb-8e23-4171-a2a1-8bf9b695d28a"],
Cell[CellGroupData[{
Cell[7023, 179, 565, 14, 70, "ObjectNameGrid",ExpressionUUID->"a09b8236-948a-4871-8870-4e4c971ea308"],
Cell[7591, 195, 961, 22, 70, "Usage",ExpressionUUID->"1581e6ad-112d-4d92-962d-d1faeca5d714"]
}, Open  ]],
Cell[CellGroupData[{
Cell[8589, 222, 1444, 34, 70, "NotesSection",ExpressionUUID->"270bdfb9-41cd-42b7-a6ca-ae6e184e90a5",
 CellGroupingRules->{"SectionGrouping", 50},
 CellID->1827846865],
Cell[10036, 258, 539, 12, 70, "Notes",ExpressionUUID->"67a350aa-3437-48fe-ae77-1946eb8d16d2"],
Cell[10578, 272, 1394, 39, 70, "Notes",ExpressionUUID->"750b82bd-7e20-47cf-bbe9-e23741de1b8f"],
Cell[11975, 313, 576, 14, 70, "Notes",ExpressionUUID->"d37ad5cd-5b18-49ab-bf66-07c7262613f8"],
Cell[12554, 329, 504, 13, 70, "Notes",ExpressionUUID->"9667d164-f558-47c2-869d-967655bba390"],
Cell[13061, 344, 582, 13, 70, "Notes",ExpressionUUID->"16cc13f4-049c-476e-9e83-1fb1de13ef72"],
Cell[13646, 359, 185, 3, 70, "Notes",ExpressionUUID->"a8083153-ceab-4f51-bf0e-a15468d81b88"],
Cell[13834, 364, 458, 12, 70, "Notes",ExpressionUUID->"3cbf56e1-3abf-47c9-bf76-623b761f2625"]
}, Closed]],
Cell[14307, 379, 80, 0, 70, "PageDelimiter",ExpressionUUID->"875508e6-01eb-413a-8045-4a79d140fbfd"],
Cell[CellGroupData[{
Cell[14412, 383, 1400, 37, 70, "PrimaryExamplesSection",ExpressionUUID->"153f87c7-184f-4a3c-bf67-ed600430f114",
 CellID->868689720],
Cell[15815, 422, 216, 4, 70, "Input",ExpressionUUID->"9524e582-60de-4561-af28-565bfb6628a5",
 CellID->1969679695],
Cell[CellGroupData[{
Cell[16056, 430, 1236, 31, 70, "ExampleSection",ExpressionUUID->"6b2a1c6c-8f86-4fde-9e5d-f5b385adbc60",
 CellID->1474291734],
Cell[17295, 463, 190, 4, 70, "ExampleText",ExpressionUUID->"70d8171f-130e-4265-a8c4-39502065af96",
 CellTags->"TextAnnotation"],
Cell[CellGroupData[{
Cell[17510, 471, 175, 2, 70, "Input",ExpressionUUID->"1afa1871-1e64-4f2d-aedc-fbd5c394332e"],
Cell[17688, 475, 356, 7, 70, "Output",ExpressionUUID->"77504df9-ecf9-461f-924a-637571ee3d6b"]
}, Open  ]],
Cell[CellGroupData[{
Cell[18081, 487, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"178c7f35-68e8-4b90-bca0-b63d2f8ff46a"],
Cell[18308, 494, 150, 2, 70, "ExampleText",ExpressionUUID->"9d6cd84b-e9e5-473a-9c8d-692bc14085ea"],
Cell[CellGroupData[{
Cell[18483, 500, 255, 5, 70, "Input",ExpressionUUID->"0a0278a9-46e6-4e32-addd-aefe4ccf57aa"],
Cell[18741, 507, 110, 1, 70, "Output",ExpressionUUID->"49b1b46c-bafb-434c-a9af-6263d7fc6f70"]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[18912, 515, 1227, 31, 70, "ExampleSection",ExpressionUUID->"177abdea-0d2c-45ff-8a5d-304ffefca1be",
 CellID->1293636265],
Cell[20142, 548, 450, 13, 70, "ExampleText",ExpressionUUID->"b684eefa-8dfb-4b40-90dc-1e5676158877"],
Cell[CellGroupData[{
Cell[20617, 565, 258, 5, 70, "Input",ExpressionUUID->"ce8e1166-3ec8-4455-9c15-62aa8e8c8414"],
Cell[20878, 572, 111, 1, 70, "Output",ExpressionUUID->"68e7c687-b656-4e6c-8868-a404c2de3862"]
}, Open  ]],
Cell[CellGroupData[{
Cell[21026, 578, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"8e0453f0-56e9-454e-b34a-87408fe00a28"],
Cell[21253, 585, 125, 0, 70, "ExampleText",ExpressionUUID->"ec1e4e51-c413-4ae5-9f1a-1d830158f104"],
Cell[CellGroupData[{
Cell[21403, 589, 289, 5, 70, "Input",ExpressionUUID->"c9a7ba54-f629-4c0a-8cf7-f9561c2feaa1"],
Cell[21695, 596, 110, 1, 70, "Output",ExpressionUUID->"8993562e-5bf7-4f2c-b5d6-e78a9353ee3a"]
}, Open  ]]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[21866, 604, 1233, 31, 70, "ExampleSection",ExpressionUUID->"1144fd93-683a-45a9-b9f9-829252b864f6",
 CellID->258228157],
Cell[23102, 637, 438, 12, 70, "ExampleText",ExpressionUUID->"742ce5aa-182b-4f78-a1a0-433f3d62b947"],
Cell[CellGroupData[{
Cell[23565, 653, 1381, 35, 70, "Input",ExpressionUUID->"a96951ab-64d3-46d1-98a1-24311e4bbb0a"],
Cell[24949, 690, 109, 1, 70, "Output",ExpressionUUID->"45550c2e-7663-4bcd-bf6d-11c99ff77a4e"]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[25107, 697, 1244, 31, 70, "ExampleSection",ExpressionUUID->"d64f3ce2-8ed1-4f3a-982c-d175e4c252b4",
 CellID->2123667759],
Cell[26354, 730, 580, 13, 70, "ExampleText",ExpressionUUID->"ecc0de45-1de2-4bc9-82e1-5c5e769dde78"],
Cell[CellGroupData[{
Cell[26959, 747, 653, 13, 70, "Input",ExpressionUUID->"6992cb71-2901-4178-9dd3-211cc1337a43"],
Cell[27615, 762, 110, 1, 70, "Output",ExpressionUUID->"a956a63f-db8b-4a00-a3fc-9cfcc5e6cc09"]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[27774, 769, 1237, 31, 70, "ExampleSection",ExpressionUUID->"3533d34e-2ecf-48c4-bb33-30ebac280e85",
 CellID->1305812373],
Cell[29014, 802, 451, 9, 70, "ExampleText",ExpressionUUID->"9b56a096-fbdc-479f-852f-b8de6e073cb9"],
Cell[CellGroupData[{
Cell[29490, 815, 382, 7, 70, "Input",ExpressionUUID->"248b4b70-c416-46db-afa4-e0d2c0dd4044"],
Cell[29875, 824, 310, 6, 70, "Output",ExpressionUUID->"cfd9c105-5d17-426d-a1a3-dccb355bd8d5"]
}, Open  ]]
}, Closed]]
}, Open  ]],
Cell[30224, 835, 3068, 81, 70, "SeeAlsoSection",ExpressionUUID->"e459cd2e-b3cb-463c-b63f-2851855ad5e6"],
Cell[33295, 918, 742, 19, 70, "MoreAboutSection",ExpressionUUID->"82761355-3b59-486d-b279-a1d9bf724c77"],
Cell[34040, 939, 78, 0, 70, "FooterCell",ExpressionUUID->"25b7fbde-2d5d-4f4c-b67a-ec3f2663ec87"]
}
]
*)

(* End of internal cache information *)

