(* 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[     60728,       1557]
NotebookOptionsPosition[     50820,       1376]
NotebookOutlinePosition[     53161,       1429]
CellTagsIndexPosition[     53083,       1424]
WindowTitle->ImageBitPlaneScan
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->
           "450a612a-2612-4093-9b29-d70ee3026b6c"], 
          TemplateBox[{8},
           "Spacer1"]}]],
         TextAlignment->Center,ExpressionUUID->
         "f56c0bf2-b0b9-4d3a-84ed-366011298f8f"],
        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->
           "be278d53-7e8a-4db6-9548-d850ba93e16b"]
         }],ExpressionUUID->"a31e3b66-cfc2-411b-8b3a-7d5552650416"],
         StripOnInput->False],{
        StyleBox[
          "\"ImageBitStream\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/ImageBitStream"], 
         StyleBox[
          "\"ImageBitStreamBytes\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/ImageBitStreamBytes"], 
         StyleBox[
          "\"ByteArrayStrings\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/ByteArrayStrings"], 
         StyleBox[
          "\"SteganographySurvey\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/SteganographySurvey"], 
         StyleBox[
          "\"ImageBitPlane\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/ImageBitPlane"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"SeeAlso"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "6f1ebd28-83a2-45f6-bbe6-90479c7e3d2f"],
     "\[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->
           "4dba8db4-f4c1-4f86-b730-5c700305fa39"]
         }],ExpressionUUID->"c18d3439-55ba-452c-8e2c-2df0aac014cb"],
         StripOnInput->False],{
        "\"Steganography\"" :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/guide/Steganography"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"MoreAbout"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "4664d3b6-3568-45f4-b2d0-825104acf9a4"],
     "\[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->
           "4a16bb2b-874f-409d-a45d-de8d714ec804"]
         }],ExpressionUUID->"efcac1e3-19c6-4ff7-aae4-5f3a59abd389"],
         StripOnInput->False],{
        "\"WolframInstitute/Puzzles/ref/ImageBitPlaneScan\"" :> None, 
         "\"Copy Wolfram Documentation Center URL\"" :> 
         CopyToClipboard["WolframInstitute/Puzzles/ref/ImageBitPlaneScan"], 
         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/ImageBitPlaneScan.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/ImageBitPlaneScan" <> ".html"], 
              None}]}]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"URLMenu"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "f37cec0a-e551-4b63-bdd7-da9bf6daf2c0"]
    }], "AnchorBar",
     CacheGraphics->False,ExpressionUUID->
     "5db6fb6a-80e8-4323-ab65-f8ee4b2e6331"]}
  }]], "AnchorBarGrid",
 CellID->1,ExpressionUUID->"a90dc724-0cd0-4263-aa1f-d99dc9438072"],

Cell["WolframInstitute`Puzzles`", "ContextNameCell",ExpressionUUID->"c7013330-d296-4a02-8973-fe71ea2989f3"],

Cell[CellGroupData[{

Cell[BoxData[GridBox[{
   {Cell[TextData[{
     Cell[
     "ImageBitPlaneScan", "ObjectName",ExpressionUUID->
      "affcd290-808d-455d-95de-9b666b94dee1"],
     Cell[BoxData[
      TemplateBox[{8},
       "Spacer1"]],ExpressionUUID->"d55edcc2-18a5-4691-b2b9-2fa6f0aca499"],
     Cell[BoxData[
     ""], "ObjectNameTranslation",ExpressionUUID->
      "0737feac-d67b-4de5-9ac9-898e5d62f072"]
    }],ExpressionUUID->"9bc8a367-8258-4c92-80bc-d20b085e0a89"], 
    "\[SpanFromLeft]"}
  }]], "ObjectNameGrid",ExpressionUUID->"4b83955e-5d28-468f-964a-\
54f8bb251ecd"],

Cell[BoxData[GridBox[{
   {"", Cell[TextData[{
     Cell[BoxData[
      RowBox[{
       TemplateBox[{
         Cell[
          TextData["ImageBitPlaneScan"]], 
         "paclet:WolframInstitute/Puzzles/ref/ImageBitPlaneScan", 
         "WolframInstitute/Puzzles Package Symbol"},
        "PackageLink",
        BaseStyle->"InlineFormula"], "[", 
       StyleBox["image", "TI"], "]"}]], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "984b9181-f85c-43eb-85ab-514099283f3e"],
     "\[LineSeparator]",
     "sweeps the standard bit-plane traversals of ",
     StyleBox["image", "TI"],
     " and gives a list of Associations, one for each traversal that yielded \
printable text."
    }],ExpressionUUID->"dfa87105-5d3f-4023-8da1-d0e80c8b0407"]},
   {"", Cell[TextData[{
     Cell[BoxData[
      RowBox[{
       TemplateBox[{
         Cell[
          TextData["ImageBitPlaneScan"]], 
         "paclet:WolframInstitute/Puzzles/ref/ImageBitPlaneScan", 
         "WolframInstitute/Puzzles Package Symbol"},
        "PackageLink",
        BaseStyle->"InlineFormula"], "[", 
       RowBox[{
        StyleBox["image", "TI"], ",", " ", 
        StyleBox["opts", "TI"]}], "]"}]], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "cc765c23-52de-4111-9cb7-ac71eead496a"],
     "\[LineSeparator]",
     "controls which planes are read and how long a run has to be to count."
    }],ExpressionUUID->"5bf6b98b-1535-4cb8-b8df-80cfeb066d92"]}
  }]], "Usage",ExpressionUUID->"edda5ddb-fcf2-4d46-8821-a5bb683c5ee8"]
}, 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->"0faa4e2f-4cd8-4594-b522-536d598a04ee"],
  Cell[BoxData[
   TemplateBox[{1},
    "Spacer1"]],ExpressionUUID->"98a1cd93-5159-49b8-9022-0cae6669d30c"],
  "Details and Options"
 }], "NotesFrameText",ExpressionUUID->
  "e6b633f4-449a-47c8-a24d-2f07ad71cfb8"]],ExpressionUUID->"b012c91a-6363-\
476c-9095-ddc2b520eee5"]], "NotesSection",
 ShowGroupOpener->"Thumbnail",
 WholeCellGroupOpener->True,
 CellGroupingRules->{"SectionGrouping", 50},
 CacheGraphics->False,
 CellID->1534987114,ExpressionUUID->"e281a962-ee2a-424f-bc8a-f501826d46fb"],

Cell["\<\
The traversals swept are each single channel and all channels interleaved, \
crossed with both scan orders and both bit orders. Planar order over a single \
channel is the same stream as interleaved order over it, so it is not swept \
twice.\
\>", "Notes",ExpressionUUID->"cd883f9d-75e4-4ae3-8ab3-6356c9f2370d"],

Cell[TextData[{
 "Each result records the traversal that produced it, together with ",
 Cell[BoxData["\<\"MinimumStringLength\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "f4d80203-71b6-4120-a72f-1876cf765184"],
 ", the cutoff used, ",
 Cell[BoxData["\<\"ExpectedByChance\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "ae29b6a8-5e26-49bd-bafc-1729b03ace1d"],
 ", and ",
 Cell[BoxData["\<\"Strings\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "0a0179f0-98da-43b4-bdea-3c5380373c64"],
 "."
}], "Notes",ExpressionUUID->"f1d03a79-e728-4331-a726-3a0cea6b8896"],

Cell["\<\
Results are ordered by total recovered length, longest first.\
\>", "Notes",ExpressionUUID->"64c2b56e-048d-4bc2-83f3-d72cdfc1d535"],

Cell[TextData[{
 Cell[BoxData["\<\"ExpectedByChance\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "d70cfbfb-3810-474d-9d71-58579b681314"],
 " is computed at the length of the longest run actually recovered: it is how \
many runs at least that long a uniformly random stream of the same length \
would carry. A genuine payload sits many orders of magnitude below one; an \
accident sits near it."
}], "Notes",ExpressionUUID->"a7b3de92-a3fe-464a-9922-32115f2ba1f7"],

Cell[TextData[{
 "A uniformly random byte is printable with probability 96/256, counting byte \
9 and bytes 32 through 126. ",
 Cell[BoxData["Automatic"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "341293c9-907b-40b9-bb12-2c88c258f331"],
 " picks the shortest cutoff whose expected count falls below one in a \
hundred, so the cutoff grows with the carrier. A fixed cutoff of eight \
characters reports several accidents on every photograph."
}], "Notes",ExpressionUUID->"5018a995-98dd-406f-9cae-d1d428cd87fb"],

Cell[BoxData[GridBox[{
   {Cell["      ", "TableRowIcon",ExpressionUUID->
     "22261aaa-c74e-469c-9692-2f5a39b138bb"], Cell["", "TableText",
     FontWeight->Bold,ExpressionUUID->"5e3d0243-23ac-48ab-9070-4d5f571b0b8b"],
     Cell["", "TableText",
     FontWeight->Bold,ExpressionUUID->"0c59fabf-4b33-45ec-b2cf-7a3de8c8683f"],
     Cell["", "TableText",
     FontWeight->Bold,ExpressionUUID->"c35a6527-6b24-4e5a-8188-cbe1a0a7c49d"]},
   {Cell["      ", "TableRowIcon",ExpressionUUID->
     "5b50a22c-71fc-4862-bee6-8ee7056cf86b"], Cell[TextData[Cell[
    BoxData["\"\<BitPlanes\>\""], "InlineFormula",
     FontFamily->"Source Sans Pro",
     FontSize->0.9 Inherited,ExpressionUUID->
     "176b6e64-275c-4bb6-86cb-ffbe1696ad8b"]], "TableText",ExpressionUUID->
     "236c9eb3-f416-4bad-b720-2b426c987b27"], Cell[TextData[Cell[BoxData[
     RowBox[{"{", "0", "}"}]], "InlineFormula",
     FontFamily->"Source Sans Pro",
     FontSize->0.9 Inherited,ExpressionUUID->
     "33a51ee1-b7a6-4065-a317-7f951377f6ed"]], "TableText",ExpressionUUID->
     "9bf3aa6d-4cdc-4b11-9d33-bb7708955612"], Cell[
    "bit indices to read from each sample", "TableText",ExpressionUUID->
     "e1d1c1d8-1936-4de4-87e4-00e1fa3cae6e"]},
   {Cell["      ", "TableRowIcon",ExpressionUUID->
     "da38e093-be34-42f5-b402-46012e74fa8e"], Cell[TextData[Cell[
    BoxData["\"\<MinimumStringLength\>\""], "InlineFormula",
     FontFamily->"Source Sans Pro",
     FontSize->0.9 Inherited,ExpressionUUID->
     "8c19f200-a719-4905-9aad-bd0c0297f226"]], "TableText",ExpressionUUID->
     "a24d7243-0f04-44f0-b7fa-4830c3f4d92a"], Cell[TextData[Cell[BoxData[
     TemplateBox[{
       Cell[
        TextData["Automatic"]], "paclet:ref/Automatic"},
      "RefLink",
      BaseStyle->"InlineFormula"]], "InlineFormula",
     FontFamily->"Source Sans Pro",
     FontSize->0.9 Inherited,ExpressionUUID->
     "f8e3eb3f-bbf9-4cdc-828e-187eea02440e"]], "TableText",ExpressionUUID->
     "b270af11-e0b3-4294-a215-d6f16f07ed34"], Cell[TextData[{
     "shortest run reported, or ",
     Cell[BoxData["Automatic"], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "2560d3cf-f7d5-47dd-b995-0eb98970494c"],
     " to scale it with the carrier"
    }], "TableText",ExpressionUUID->"7e11aa25-3482-4713-bf7b-cdc915c64cc2"]},
   {Cell["      ", "TableRowIcon",ExpressionUUID->
     "4e2eb4a8-0bfd-4057-8273-f81988f9b6a7"], Cell[TextData[Cell[
    BoxData["\"\<MaxItems\>\""], "InlineFormula",
     FontFamily->"Source Sans Pro",
     FontSize->0.9 Inherited,ExpressionUUID->
     "97cd075f-2273-4a1e-b6b2-4da0e24e64b2"]], "TableText",ExpressionUUID->
     "abb6154b-a3c6-427c-863d-174b3983fc72"], Cell[TextData[Cell[BoxData[
    "8"], "InlineFormula",
     FontFamily->"Source Sans Pro",
     FontSize->0.9 Inherited,ExpressionUUID->
     "6d616643-60f9-4e17-b41f-57df7f9da04d"]], "TableText",ExpressionUUID->
     "e67d5885-adab-4b7f-a01e-35c7943f2aaf"], Cell[
    "how many traversals to report", "TableText",ExpressionUUID->
     "3b4cb48c-36fa-4a23-a9a3-f21e9c1372f3"]},
   {Cell["      ", "TableRowIcon",ExpressionUUID->
     "7fb39b9b-8d60-4741-84d0-d93f0a2481e4"], Cell[TextData[Cell[
    BoxData["\"\<MaxStrings\>\""], "InlineFormula",
     FontFamily->"Source Sans Pro",
     FontSize->0.9 Inherited,ExpressionUUID->
     "7388498f-1e66-4576-8999-aab2f470c349"]], "TableText",ExpressionUUID->
     "4f08f5a2-3991-4bde-94ef-80896050fb40"], Cell[TextData[Cell[BoxData[
    "5"], "InlineFormula",
     FontFamily->"Source Sans Pro",
     FontSize->0.9 Inherited,ExpressionUUID->
     "8f033499-d49d-47bd-97f2-f878e89dabee"]], "TableText",ExpressionUUID->
     "48ae4700-5900-4981-bed0-f49814ad95fd"], Cell[
    "how many runs to report per traversal", "TableText",ExpressionUUID->
     "9c28ac56-96b0-43bd-87cb-f948440d7adb"]}
  }]], "3ColumnTableMod",
 GridBoxOptions->{
 GridBoxBackground->{
  "Columns" -> {{None}}, "Rows" -> {None, None, None, None, {None}}},
 GridBoxDividers->{
  "Rows" -> {{
     True, True, True, True, True, 
      True}}}},ExpressionUUID->"b8914c65-0087-40b0-876a-0942beab511c"],

Cell[TextData[{
 "An out-of-range bit index, a minimum length that is neither ",
 Cell[BoxData["Automatic"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "8cab467e-136d-4b95-8cc6-6d59f87a83b4"],
 " nor a positive integer, or a first argument that is not an image matches \
no definition, and the call is returned unevaluated."
}], "Notes",ExpressionUUID->"05a67bd0-629c-429c-965c-900bb18287cc"]
}, Closed]],

Cell["", "PageDelimiter",ExpressionUUID->"c5e02c22-c67f-46f8-9e96-4943f0bac590"],

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->"48d00a76-f4db-42b0-b190-e07b1d8f2ece"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"90cc5834-a724-4da9-b627-ff7c3ae4d217"],
 "Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(12)", "ExampleCount",ExpressionUUID->
  "b09bc2fb-c840-4f87-972e-887ebd656375"]
}], "PrimaryExamplesSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->807373587,ExpressionUUID->"d23e49f6-e111-4715-bb73-2482745600d3"],

Cell[BoxData[
 RowBox[{"Needs", "[", "\"\<WolframInstitute`Puzzles`\>\"", "]"}]], "Input", \
"ExampleInitialization",
 CellLabel->"In[1]:=",
 CellID->1969679695,ExpressionUUID->"088b9415-7117-4963-a9b5-c4ab271181f1"],

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->
  "32502cef-e61c-434d-ba39-a57d2838dbe6"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"85056cd3-9b53-4b28-bcc0-ae131a8484db"],
 "Basic Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(3)", "ExampleCount",ExpressionUUID->
  "cbf2a373-f341-4650-abab-0dbd0697ac06"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1726194963,ExpressionUUID->"dbfcd641-7041-4728-8b7c-30b99753321a"],

Cell["\<\
A grayscale carrier whose low bits carry a short message, recovered without \
being told the traversal:\
\>", "ExampleText",
 CellTags->
  "TextAnnotation",ExpressionUUID->"f99aea33-55c8-4dfa-a008-60aa9077d4b0"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"First", "[", 
   RowBox[{"ImageBitPlaneScan", "[", 
    RowBox[{"Image", "[", 
     RowBox[{
      RowBox[{"Partition", "[", 
       RowBox[{
        RowBox[{"MapIndexed", "[", 
         RowBox[{
          RowBox[{
           RowBox[{"BitOr", "[", 
            RowBox[{
             RowBox[{"BitAnd", "[", 
              RowBox[{"200", ",", " ", "254"}], "]"}], ",", " ", "#1"}], 
            "]"}], " ", "&"}], ",", " ", 
          RowBox[{"Flatten", "[", 
           RowBox[{"IntegerDigits", "[", 
            RowBox[{
             RowBox[{"ToCharacterCode", "[", "\"\<meet at noon\>\"", "]"}], ",",
              " ", "2", ",", " ", "8"}], "]"}], "]"}]}], "]"}], ",", " ", 
        "8"}], "]"}], ",", " ", "\"\<Byte\>\""}], "]"}], "]"}], "]"}], 
  "[", "\"\<Strings\>\"", "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"e15eee3c-4d06-49d2-a85f-fd9b7a0f0767"],

Cell[BoxData[
 RowBox[{"{", "\<\"meet at noon\"\>", "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"519b4135-5b61-4901-a38a-4dee036639bf"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "228eee65-36b4-40c5-bc6d-d230e24d32e5"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"aa159af6-9fbd-4180-\
9a5c-81c4965326b2"],

Cell["The traversal that produced it is reported alongside:", "ExampleText",ExpressionUUID->"c521b93a-343e-4b9e-949d-4cf66bd9b533"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"KeyTake", "[", 
  RowBox[{
   RowBox[{"First", "[", 
    RowBox[{"ImageBitPlaneScan", "[", 
     RowBox[{"Image", "[", 
      RowBox[{
       RowBox[{"Partition", "[", 
        RowBox[{
         RowBox[{"MapIndexed", "[", 
          RowBox[{
           RowBox[{
            RowBox[{"BitOr", "[", 
             RowBox[{
              RowBox[{"BitAnd", "[", 
               RowBox[{"200", ",", " ", "254"}], "]"}], ",", " ", "#1"}], 
             "]"}], " ", "&"}], ",", " ", 
           RowBox[{"Flatten", "[", 
            RowBox[{"IntegerDigits", "[", 
             RowBox[{
              RowBox[{"ToCharacterCode", "[", "\"\<meet at noon\>\"", "]"}], ",",
               " ", "2", ",", " ", "8"}], "]"}], "]"}]}], "]"}], ",", " ", 
         "8"}], "]"}], ",", " ", "\"\<Byte\>\""}], "]"}], "]"}], "]"}], ",", 
   " ", 
   RowBox[{"{", 
    RowBox[{"\"\<Channels\>\"", ",", " ", "\"\<ScanOrder\>\"", ",", 
     " ", "\"\<BitOrder\>\""}], "}"}]}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"fd0cd914-7864-484c-bc14-fabce2b731e3"],

Cell[BoxData[
 RowBox[{"\[LeftAssociation]", 
  RowBox[{
   RowBox[{"\<\"Channels\"\>", "\[Rule]", 
    RowBox[{"{", "\<\"Gray\"\>", "}"}]}], ",", 
   RowBox[{"\<\"ScanOrder\"\>", "\[Rule]", "\<\"Row\"\>"}], ",", 
   RowBox[{"\<\"BitOrder\"\>", "\[Rule]", "\<\"MostSignificantFirst\"\>"}]}], 
  "\[RightAssociation]"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"d73c1e4b-51cf-4ade-96ce-793e6b231947"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "46f6b982-a3a1-4982-bcb2-ab54f2c03356"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"6518065b-430a-4705-\
a283-ad74cb2d6976"],

Cell["A carrier with nothing written into it gives an empty list:", \
"ExampleText",ExpressionUUID->"02325af3-7ef9-4351-b6e8-a01ebf354766"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"ImageBitPlaneScan", "[", 
  RowBox[{"Image", "[", 
   RowBox[{
    RowBox[{"ArrayReshape", "[", 
     RowBox[{
      RowBox[{"Take", "[", 
       RowBox[{
        RowBox[{"Flatten", "[", 
         RowBox[{"Table", "[", 
          RowBox[{
           RowBox[{"IntegerDigits", "[", 
            RowBox[{
             RowBox[{"Hash", "[", 
              RowBox[{"k", ",", " ", "\"\<SHA256\>\""}], "]"}], ",", " ", 
             "256", ",", " ", "32"}], "]"}], ",", " ", 
           RowBox[{"{", 
            RowBox[{"k", ",", " ", "400"}], "}"}]}], "]"}], "]"}], ",", " ", 
        "10000"}], "]"}], ",", " ", 
      RowBox[{"{", 
       RowBox[{"100", ",", " ", "100"}], "}"}]}], "]"}], ",", 
    " ", "\"\<Byte\>\""}], "]"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"11615469-297f-47d9-a00c-a203bd0922ae"],

Cell[BoxData[
 RowBox[{"{", "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"b7bbecba-2b41-48d6-9736-33b8852d963a"]
}, 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->
  "7ab27e32-5a6c-4fa1-a5f1-77d62bfdbaeb"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"d5ad2772-0c54-47cc-a990-42c41b167606"],
 "Scope",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(4)", "ExampleCount",ExpressionUUID->
  "9f52bd35-97cc-4626-bc33-90477e48b3cf"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1293636265,ExpressionUUID->"f9301655-a9de-42c9-a989-746d1698a902"],

Cell["The chance expectation of a real payload is far below one:", \
"ExampleText",ExpressionUUID->"95bbd7ca-2a02-48cc-8395-dbe4903bd1c5"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"First", "[", 
   RowBox[{"ImageBitPlaneScan", "[", 
    RowBox[{"Image", "[", 
     RowBox[{
      RowBox[{"Partition", "[", 
       RowBox[{
        RowBox[{"MapIndexed", "[", 
         RowBox[{
          RowBox[{
           RowBox[{"BitOr", "[", 
            RowBox[{
             RowBox[{"BitAnd", "[", 
              RowBox[{"200", ",", " ", "254"}], "]"}], ",", " ", "#1"}], 
            "]"}], " ", "&"}], ",", " ", 
          RowBox[{"Flatten", "[", 
           RowBox[{"IntegerDigits", "[", 
            RowBox[{
             RowBox[{"ToCharacterCode", "[", "\"\<meet at noon\>\"", "]"}], ",",
              " ", "2", ",", " ", "8"}], "]"}], "]"}]}], "]"}], ",", " ", 
        "8"}], "]"}], ",", " ", "\"\<Byte\>\""}], "]"}], "]"}], "]"}], 
  "[", "\"\<ExpectedByChance\>\"", "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"be7a3bdc-40da-42a9-a148-0cecaf3d0fbc"],

Cell[BoxData["0.0000928018125705421`"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"f8a0f0a7-6ebe-4621-8084-f35af6704270"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "81d42052-8d89-4b0d-bee7-a97f3422119a"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"d46b9171-cd10-4f44-\
9f9e-d699642619c7"],

Cell[TextData[{
 "Lowering the cutoff by hand brings the accidents back, which is what ",
 Cell[BoxData["Automatic"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "858745ad-caeb-44d6-86c2-53c01a2e177e"],
 " exists to prevent:"
}], "ExampleText",ExpressionUUID->"b592e5d1-6c53-4bc9-a8d8-51a2f61be3ba"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Length", "[", 
  RowBox[{"ImageBitPlaneScan", "[", 
   RowBox[{
    RowBox[{"Image", "[", 
     RowBox[{
      RowBox[{"ArrayReshape", "[", 
       RowBox[{
        RowBox[{"Take", "[", 
         RowBox[{
          RowBox[{"Flatten", "[", 
           RowBox[{"Table", "[", 
            RowBox[{
             RowBox[{"IntegerDigits", "[", 
              RowBox[{
               RowBox[{"Hash", "[", 
                RowBox[{"k", ",", " ", "\"\<SHA256\>\""}], "]"}], ",", " ", 
               "256", ",", " ", "32"}], "]"}], ",", " ", 
             RowBox[{"{", 
              RowBox[{"k", ",", " ", "400"}], "}"}]}], "]"}], "]"}], ",", " ",
           "10000"}], "]"}], ",", " ", 
        RowBox[{"{", 
         RowBox[{"100", ",", " ", "100"}], "}"}]}], "]"}], ",", 
      " ", "\"\<Byte\>\""}], "]"}], ",", " ", 
    RowBox[{"\"\<MinimumStringLength\>\"", " ", "->", " ", "6"}]}], "]"}], 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"84698632-1c68-4a4b-90ce-b22be3cc0cec"],

Cell[BoxData["8"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"e853c9a9-f92b-45cd-8059-e479b2928891"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "d10a730b-6aa6-4f57-934a-a59e19f46b25"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"28d0bd0b-72b5-472e-\
83a8-143ba7c22a71"],

Cell[TextData[{
 Cell[BoxData["\<\"MaxItems\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "7828324f-7dd8-4496-91cb-a6c7fd424d06"],
 " caps how many traversals come back:"
}], "ExampleText",ExpressionUUID->"c89d0c30-44b5-4945-a778-bdd0c7d1161a"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Length", "[", 
  RowBox[{"ImageBitPlaneScan", "[", 
   RowBox[{
    RowBox[{"Image", "[", 
     RowBox[{
      RowBox[{"ArrayReshape", "[", 
       RowBox[{
        RowBox[{"Take", "[", 
         RowBox[{
          RowBox[{"Flatten", "[", 
           RowBox[{"Table", "[", 
            RowBox[{
             RowBox[{"IntegerDigits", "[", 
              RowBox[{
               RowBox[{"Hash", "[", 
                RowBox[{"k", ",", " ", "\"\<SHA256\>\""}], "]"}], ",", " ", 
               "256", ",", " ", "32"}], "]"}], ",", " ", 
             RowBox[{"{", 
              RowBox[{"k", ",", " ", "400"}], "}"}]}], "]"}], "]"}], ",", " ",
           "10000"}], "]"}], ",", " ", 
        RowBox[{"{", 
         RowBox[{"100", ",", " ", "100"}], "}"}]}], "]"}], ",", 
      " ", "\"\<Byte\>\""}], "]"}], ",", " ", 
    RowBox[{"\"\<MinimumStringLength\>\"", " ", "->", " ", "6"}], ",", " ", 
    RowBox[{"\"\<MaxItems\>\"", " ", "->", " ", "2"}]}], "]"}], 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"e57b706c-9105-40b4-aa5e-97facfba01d4"],

Cell[BoxData["2"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"790e99da-f57a-4f66-a4fb-a7032b268391"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "e9f304d5-7f31-4cf0-94a9-009be4fc0fa2"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"95df6f42-977c-4f0e-\
b9c3-6f5493de2577"],

Cell[TextData[{
 Cell[BoxData["\<\"BitPlanes\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "eb32bcaf-b86c-4e5a-826d-ea181cd5434b"],
 " reads a plane other than the lowest, for a payload written one bit \
higher:"
}], "ExampleText",ExpressionUUID->"5454d9ee-8ce8-4aef-b3f2-da742921f18f"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"First", "[", 
   RowBox[{"ImageBitPlaneScan", "[", 
    RowBox[{
     RowBox[{"Image", "[", 
      RowBox[{
       RowBox[{"Partition", "[", 
        RowBox[{
         RowBox[{"MapIndexed", "[", 
          RowBox[{
           RowBox[{
            RowBox[{"BitOr", "[", 
             RowBox[{
              RowBox[{"BitAnd", "[", 
               RowBox[{"200", ",", " ", "253"}], "]"}], ",", " ", 
              RowBox[{"2", " ", "#1"}]}], "]"}], " ", "&"}], ",", " ", 
           RowBox[{"Flatten", "[", 
            RowBox[{"IntegerDigits", "[", 
             RowBox[{
              RowBox[{
              "ToCharacterCode", "[", "\"\<one bit higher up\>\"", "]"}], ",",
               " ", "2", ",", " ", "8"}], "]"}], "]"}]}], "]"}], ",", " ", 
         "8"}], "]"}], ",", " ", "\"\<Byte\>\""}], "]"}], ",", " ", 
     RowBox[{"\"\<BitPlanes\>\"", " ", "->", " ", 
      RowBox[{"{", "1", "}"}]}]}], "]"}], "]"}], "[", "\"\<Strings\>\"", 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"8e4a0d4c-8510-4590-b8f2-2e4bbba7d48e"],

Cell[BoxData[
 RowBox[{"{", "\<\"one bit higher up\"\>", "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"ad0173e0-e1a7-4445-b5f3-7c81e2c8f778"]
}, 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->
  "4a23bcbd-5d1f-41e2-9d75-d0a652de8bbf"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"340d8391-400e-415c-b767-c93ccd5ad23a"],
 "Applications",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(1)", "ExampleCount",ExpressionUUID->
  "e0c178f5-772e-44f0-9d72-e9b6e2093f32"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->258228157,ExpressionUUID->"c9d94085-b73d-4e91-ab7f-6b40ec565e3f"],

Cell["\<\
The cutoff the sweep chose for a given carrier, which is the number that \
keeps its output honest:\
\>", "ExampleText",ExpressionUUID->"998efb65-8ab6-4621-8ae8-e0ca8260fd1c"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"First", "[", 
   RowBox[{"ImageBitPlaneScan", "[", 
    RowBox[{"Image", "[", 
     RowBox[{
      RowBox[{"Partition", "[", 
       RowBox[{
        RowBox[{"MapIndexed", "[", 
         RowBox[{
          RowBox[{
           RowBox[{"BitOr", "[", 
            RowBox[{
             RowBox[{"BitAnd", "[", 
              RowBox[{"200", ",", " ", "254"}], "]"}], ",", " ", "#1"}], 
            "]"}], " ", "&"}], ",", " ", 
          RowBox[{"Flatten", "[", 
           RowBox[{"IntegerDigits", "[", 
            RowBox[{
             RowBox[{"ToCharacterCode", "[", "\"\<meet at noon\>\"", "]"}], ",",
              " ", "2", ",", " ", "8"}], "]"}], "]"}]}], "]"}], ",", " ", 
        "8"}], "]"}], ",", " ", "\"\<Byte\>\""}], "]"}], "]"}], "]"}], 
  "[", "\"\<MinimumStringLength\>\"", "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"03f5de5f-0627-4ca1-965e-5b4760fa8e77"],

Cell[BoxData["8"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"0285e3c7-2a26-45dd-aceb-f5b507e6f620"]
}, 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->
  "449a6de2-8684-4103-8047-054568ec16b4"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"7c7fbe12-a0eb-43b2-8b7b-5be31a998616"],
 "Properties & Relations",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(2)", "ExampleCount",ExpressionUUID->
  "873e3050-e711-4bdc-bc17-4474e0b5c6f1"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->2123667759,ExpressionUUID->"b2c9c94f-8cb4-4260-b6a0-c5f5578814e9"],

Cell[TextData[{
 "A single result is what ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["ByteArrayStrings"]], 
    "paclet:WolframInstitute/Puzzles/ref/ByteArrayStrings", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "581cca46-a831-4aef-a3ce-ce4381f76fa0"],
 " gives for the corresponding ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["ImageBitStreamBytes"]], 
    "paclet:WolframInstitute/Puzzles/ref/ImageBitStreamBytes", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "69aa54d8-860b-45c8-8eb9-57da1fc4e42a"],
 " call:"
}], "ExampleText",ExpressionUUID->"535b881a-ca35-426b-9989-1d42ba5ec411"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{
   RowBox[{"First", "[", 
    RowBox[{"ImageBitPlaneScan", "[", 
     RowBox[{"Image", "[", 
      RowBox[{
       RowBox[{"Partition", "[", 
        RowBox[{
         RowBox[{"MapIndexed", "[", 
          RowBox[{
           RowBox[{
            RowBox[{"BitOr", "[", 
             RowBox[{
              RowBox[{"BitAnd", "[", 
               RowBox[{"200", ",", " ", "254"}], "]"}], ",", " ", "#1"}], 
             "]"}], " ", "&"}], ",", " ", 
           RowBox[{"Flatten", "[", 
            RowBox[{"IntegerDigits", "[", 
             RowBox[{
              RowBox[{"ToCharacterCode", "[", "\"\<meet at noon\>\"", "]"}], ",",
               " ", "2", ",", " ", "8"}], "]"}], "]"}]}], "]"}], ",", " ", 
         "8"}], "]"}], ",", " ", "\"\<Byte\>\""}], "]"}], "]"}], "]"}], 
   "[", "\"\<Strings\>\"", "]"}], " ", "===", " ", 
  RowBox[{"ByteArrayStrings", "[", 
   RowBox[{
    RowBox[{"ImageBitStreamBytes", "[", 
     RowBox[{"Image", "[", 
      RowBox[{
       RowBox[{"Partition", "[", 
        RowBox[{
         RowBox[{"MapIndexed", "[", 
          RowBox[{
           RowBox[{
            RowBox[{"BitOr", "[", 
             RowBox[{
              RowBox[{"BitAnd", "[", 
               RowBox[{"200", ",", " ", "254"}], "]"}], ",", " ", "#1"}], 
             "]"}], " ", "&"}], ",", " ", 
           RowBox[{"Flatten", "[", 
            RowBox[{"IntegerDigits", "[", 
             RowBox[{
              RowBox[{"ToCharacterCode", "[", "\"\<meet at noon\>\"", "]"}], ",",
               " ", "2", ",", " ", "8"}], "]"}], "]"}]}], "]"}], ",", " ", 
         "8"}], "]"}], ",", " ", "\"\<Byte\>\""}], "]"}], "]"}], ",", " ", 
    RowBox[{"\"\<MinimumLength\>\"", " ", "->", " ", "8"}]}], 
   "]"}]}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"4eabbbdc-33e5-4879-89f1-658ecb0e55e1"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"f57dc803-5fdf-4983-b0df-98e662efb069"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "575c1869-be09-48a0-b215-7413d99d2575"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"2161eb7f-785d-40e5-\
9a63-559420341ce4"],

Cell[TextData[{
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["SteganographySurvey"]], 
    "paclet:WolframInstitute/Puzzles/ref/SteganographySurvey", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "9ad3fdfc-98a8-47b4-a203-23c9992a83bd"],
 " runs this sweep as one of its tests and turns each result into a finding \
with a confidence attached:"
}], "ExampleText",ExpressionUUID->"21a400b7-b292-462e-a888-4ef471df5c59"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Lookup", "[", 
  RowBox[{
   RowBox[{
    RowBox[{"SteganographySurvey", "[", 
     RowBox[{"Image", "[", 
      RowBox[{
       RowBox[{"Partition", "[", 
        RowBox[{
         RowBox[{"MapIndexed", "[", 
          RowBox[{
           RowBox[{
            RowBox[{"BitOr", "[", 
             RowBox[{
              RowBox[{"BitAnd", "[", 
               RowBox[{"200", ",", " ", "254"}], "]"}], ",", " ", "#1"}], 
             "]"}], " ", "&"}], ",", " ", 
           RowBox[{"Flatten", "[", 
            RowBox[{"IntegerDigits", "[", 
             RowBox[{
              RowBox[{"ToCharacterCode", "[", "\"\<meet at noon\>\"", "]"}], ",",
               " ", "2", ",", " ", "8"}], "]"}], "]"}]}], "]"}], ",", " ", 
         "8"}], "]"}], ",", " ", "\"\<Byte\>\""}], "]"}], "]"}], 
    "[", "\"\<Findings\>\"", "]"}], ",", " ", "\"\<Test\>\""}], 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"fce638bb-5c53-45cb-88fc-d6390bbe7a76"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"\<\"RecoveredText\"\>", ",", "\<\"RecoveredText\"\>", 
   ",", "\<\"StructuredLowBitPlane\"\>"}], "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"83242aa5-820a-442b-bf01-88fbbfc1809e"]
}, 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->
  "0fb8e13c-2cf5-4ce1-8db4-fc12b95f3bf1"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"9453c37a-e1dc-4fda-afa9-9e75021e4fb6"],
 "Possible Issues",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(2)", "ExampleCount",ExpressionUUID->
  "ffd50cbe-aca3-4973-818e-320987179fce"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1305812373,ExpressionUUID->"a5bdd382-8108-42d8-a04a-873a5fe2750d"],

Cell["\<\
The sweep only recovers text. A payload that is compressed, encrypted, or \
written in a wide encoding produces no printable runs at all and the sweep \
reports nothing:\
\>", "ExampleText",ExpressionUUID->"60fdba29-f889-43d3-baf0-af9c3e579740"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"ImageBitPlaneScan", "[", 
  RowBox[{"Image", "[", 
   RowBox[{
    RowBox[{"Partition", "[", 
     RowBox[{
      RowBox[{"MapIndexed", "[", 
       RowBox[{
        RowBox[{
         RowBox[{"BitOr", "[", 
          RowBox[{
           RowBox[{"BitAnd", "[", 
            RowBox[{"200", ",", " ", "254"}], "]"}], ",", " ", "#1"}], "]"}], 
         " ", "&"}], ",", " ", 
        RowBox[{"Flatten", "[", 
         RowBox[{"IntegerDigits", "[", 
          RowBox[{
           RowBox[{"Flatten", "[", 
            RowBox[{"Table", "[", 
             RowBox[{
              RowBox[{"IntegerDigits", "[", 
               RowBox[{
                RowBox[{"Hash", "[", 
                 RowBox[{"k", ",", " ", "\"\<SHA256\>\""}], "]"}], ",", " ", 
                "256", ",", " ", "32"}], "]"}], ",", " ", 
              RowBox[{"{", 
               RowBox[{"k", ",", " ", "32"}], "}"}]}], "]"}], "]"}], ",", " ",
            "2", ",", " ", "8"}], "]"}], "]"}]}], "]"}], ",", " ", "32"}], 
     "]"}], ",", " ", "\"\<Byte\>\""}], "]"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"0eed2f88-278d-4a07-89c7-f8ecb85052b6"],

Cell[BoxData[
 RowBox[{"{", "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"6290afbc-9031-4dbe-be1e-d9c4f628a907"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "9abb61c4-617a-4151-a051-f88eeb9a693d"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"7265622c-53d1-4153-\
959f-0d998a1b530c"],

Cell[TextData[{
 "A minimum length that is neither ",
 Cell[BoxData["Automatic"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "3790f3f6-16f5-4f4b-b91b-129f72c724a1"],
 " nor a positive integer is returned unevaluated:"
}], "ExampleText",ExpressionUUID->"eee69ce9-7595-460b-b0a8-621ba6813de9"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"ImageBitPlaneScan", "[", 
  RowBox[{
   RowBox[{"Image", "[", 
    RowBox[{
     RowBox[{"Partition", "[", 
      RowBox[{
       RowBox[{"Range", "[", 
        RowBox[{"0", ",", " ", "63"}], "]"}], ",", " ", "8"}], "]"}], ",", 
     " ", "\"\<Byte\>\""}], "]"}], ",", " ", 
   RowBox[{"\"\<MinimumStringLength\>\"", " ", "->", " ", "0"}]}], 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"a1fedcb5-af0d-4c2b-bb2f-c57502e241c0"],

Cell[BoxData[
 RowBox[{"ImageBitPlaneScan", "[", 
  RowBox[{
   GraphicsBox[
    TagBox[
     RasterBox[
      RawArray["UnsignedInteger8", {{0, 1, 2, 3, 4, 5, 6, 7}, {8, 9, 10, 11, 
       12, 13, 14, 15}, {16, 17, 18, 19, 20, 21, 22, 23}, {24, 25, 26, 27, 28,
        29, 30, 31}, {32, 33, 34, 35, 36, 37, 38, 39}, {40, 41, 42, 43, 44, 
       45, 46, 47}, {48, 49, 50, 51, 52, 53, 54, 55}, {56, 57, 58, 59, 60, 61,
        62, 63}}], {{0, 8.}, {8., 0}}, {0, 255},
      ColorFunction->GrayLevel],
     BoxForm`ImageTag["Byte", ColorSpace -> Automatic, Interleaving -> None],
     Selectable->False],
    DefaultBaseStyle->"ImageGraphics",
    ImageSizeRaw->{8., 8.},
    PlotRange->{{0, 8.}, {0, 8.}}], ",", 
   RowBox[{"\<\"MinimumStringLength\"\>", "\[Rule]", "0"}]}], "]"}]], "Output",\

 CellLabel->"Out[1]= ",ExpressionUUID->"e96d4cec-481a-4685-ba4d-bb616e4656b7"]
}, Open  ]]
}, Open  ]]
}, Closed]]
}, Open  ]],

Cell[BoxData[GridBox[{
   {
    DynamicBox[FEPrivate`ImportImage[
      FrontEnd`FileName[{"Documentation", "FooterIcons"}, 
       "RelatedFunction.png"]]], GridBox[{
      {
       StyleBox[
        RowBox[{"See", " ", "Also"}], "SeeAlsoSection"]},
      {Cell[TextData[{
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["ImageBitStream"]], 
           "paclet:WolframInstitute/Puzzles/ref/ImageBitStream", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "e426cb22-2f52-44ce-8924-a1847e3fa644"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["ImageBitStreamBytes"]], 
           "paclet:WolframInstitute/Puzzles/ref/ImageBitStreamBytes", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "5aef6371-cd71-4d6d-bd11-ab77da99e8cd"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["ByteArrayStrings"]], 
           "paclet:WolframInstitute/Puzzles/ref/ByteArrayStrings", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "50c5582b-c743-4930-af71-8571bac54cd9"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["SteganographySurvey"]], 
           "paclet:WolframInstitute/Puzzles/ref/SteganographySurvey", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "e4c6e4c7-735b-4e7e-9b81-39a8fdc934ce"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["ImageBitPlane"]], 
           "paclet:WolframInstitute/Puzzles/ref/ImageBitPlane", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "8e73bacf-9789-4d9b-86b5-cdfece517926"]
       }], "SeeAlso",ExpressionUUID->"7c239957-2c8d-4328-8144-ff7edaea936a"]}
     }]}
  }]], "SeeAlsoSection",ExpressionUUID->"be7dc851-477b-4e54-b748-\
ce48a5e3d554"],

Cell[BoxData[GridBox[{
   {
    DynamicBox[FEPrivate`ImportImage[
      FrontEnd`FileName[{"Documentation", "FooterIcons"}, 
       "RelatedGuide.png"]]], GridBox[{
      {
       StyleBox[
        RowBox[{"Related", " ", "Guides"}], "MoreAboutSection"]},
      {
       RowBox[{"\[FilledVerySmallSquare]", Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Steganography"]], 
           "paclet:WolframInstitute/Puzzles/guide/Steganography"},
          "RefLinkPlain",
          BaseStyle->{"MoreAbout"}]], "MoreAbout",ExpressionUUID->
         "3a1e2bd7-fa79-4826-bb19-fb15341f196e"]}]}
     }]}
  }]], "MoreAboutSection",ExpressionUUID->"25bb8a1c-7440-457f-8ab2-\
4d0997cd9a87"],

Cell[" ", "FooterCell",ExpressionUUID->"5ee0aba8-6b99-43c3-ac14-565703fb6f9c"]
},
Saveable->False,
ScreenStyleEnvironment->"Working",
WindowSize->{900, 830},
WindowMargins->{{0, Automatic}, {Automatic, 0}},
WindowTitle->"ImageBitPlaneScan",
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, 11, 37.371002}", 
    "history" -> {"XX", "", "", ""}, "context" -> "WolframInstitute`Puzzles`",
     "keywords" -> {}, "specialkeywords" -> {}, 
    "tutorialcollectionlinks" -> {}, "index" -> True, "label" -> 
    "Wolfram Institute/ Puzzles Symbol", "language" -> "en", "paclet" -> 
    "WolframInstitute/Puzzles", "status" -> "None", "summary" -> 
    "PackageLink[ImageBitPlaneScan, paclet : \
WolframInstitute/Puzzles/ref/ImageBitPlaneScan, WolframInstitute/Puzzles \
Package Symbol][image] sweeps the standard bit-plane traversals of image and \
gives a list of Associations, one for each traversal that yielded printable \
text. PackageLink[ImageBitPlaneScan, paclet : \
WolframInstitute/Puzzles/ref/ImageBitPlaneScan, WolframInstitute/Puzzles \
Package Symbol][image, opts] controls which planes are read and how long a \
run has to be to count.", "synonyms" -> {}, "tabletags" -> {}, "title" -> 
    "ImageBitPlaneScan", "titlemodifier" -> "", "metadescription" -> "", 
    "windowtitle" -> "ImageBitPlaneScan", "type" -> "Symbol", "uri" -> 
    "WolframInstitute/Puzzles/ref/ImageBitPlaneScan", "WorkflowDockedCell" -> 
    ""}, "SearchTextTranslated" -> ""},
CellContext->CellGroup,
FrontEndVersion->"15.0 for Mac OS X ARM (64-bit) (May 19, 2026)",
StyleDefinitions->FrontEnd`FileName[{"Wolfram"}, "Reference.nb"],
ExpressionUUID->"237f3668-21d0-454a-8e63-643b5487e371"
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{
 "TextAnnotation"->{
  Cell[20090, 497, 221, 5, 70, "ExampleText",ExpressionUUID->"f99aea33-55c8-4dfa-a008-60aa9077d4b0",
   CellTags->"TextAnnotation"]}
 }
*)
(*CellTagsIndex
CellTagsIndex->{
 {"TextAnnotation", 52926, 1418}
 }
*)
(*NotebookFileOutline
Notebook[{
Cell[585, 21, 5860, 143, 70, "AnchorBarGrid",ExpressionUUID->"a90dc724-0cd0-4263-aa1f-d99dc9438072",
 CellID->1],
Cell[6448, 166, 107, 0, 70, "ContextNameCell",ExpressionUUID->"c7013330-d296-4a02-8973-fe71ea2989f3"],
Cell[CellGroupData[{
Cell[6580, 170, 560, 14, 70, "ObjectNameGrid",ExpressionUUID->"4b83955e-5d28-468f-964a-54f8bb251ecd"],
Cell[7143, 186, 1612, 40, 70, "Usage",ExpressionUUID->"edda5ddb-fcf2-4d46-8821-a5bb683c5ee8"]
}, Open  ]],
Cell[CellGroupData[{
Cell[8792, 231, 1444, 34, 70, "NotesSection",ExpressionUUID->"e281a962-ee2a-424f-bc8a-f501826d46fb",
 CellGroupingRules->{"SectionGrouping", 50},
 CellID->1534987114],
Cell[10239, 267, 321, 5, 70, "Notes",ExpressionUUID->"cd883f9d-75e4-4ae3-8ab3-6356c9f2370d"],
Cell[10563, 274, 725, 17, 70, "Notes",ExpressionUUID->"f1d03a79-e728-4331-a726-3a0cea6b8896"],
Cell[11291, 293, 141, 2, 70, "Notes",ExpressionUUID->"64c2b56e-048d-4bc2-83f3-d72cdfc1d535"],
Cell[11435, 297, 519, 9, 70, "Notes",ExpressionUUID->"a7b3de92-a3fe-464a-9922-32115f2ba1f7"],
Cell[11957, 308, 563, 10, 70, "Notes",ExpressionUUID->"5018a995-98dd-406f-9cae-d1d428cd87fb"],
Cell[12523, 320, 4116, 80, 70, "3ColumnTableMod",ExpressionUUID->"b8914c65-0087-40b0-876a-0942beab511c"],
Cell[16642, 402, 444, 8, 70, "Notes",ExpressionUUID->"05a67bd0-629c-429c-965c-900bb18287cc"]
}, Closed]],
Cell[17101, 413, 80, 0, 70, "PageDelimiter",ExpressionUUID->"c5e02c22-c67f-46f8-9e96-4943f0bac590"],
Cell[CellGroupData[{
Cell[17206, 417, 1401, 37, 70, "PrimaryExamplesSection",ExpressionUUID->"d23e49f6-e111-4715-bb73-2482745600d3",
 CellID->807373587],
Cell[18610, 456, 216, 4, 70, "Input",ExpressionUUID->"088b9415-7117-4963-a9b5-c4ab271181f1",
 CellID->1969679695],
Cell[CellGroupData[{
Cell[18851, 464, 1236, 31, 70, "ExampleSection",ExpressionUUID->"dbfcd641-7041-4728-8b7c-30b99753321a",
 CellID->1726194963],
Cell[20090, 497, 221, 5, 70, "ExampleText",ExpressionUUID->"f99aea33-55c8-4dfa-a008-60aa9077d4b0",
 CellTags->"TextAnnotation"],
Cell[CellGroupData[{
Cell[20336, 506, 953, 24, 70, "Input",ExpressionUUID->"e15eee3c-4d06-49d2-a85f-fd9b7a0f0767"],
Cell[21292, 532, 148, 2, 70, "Output",ExpressionUUID->"519b4135-5b61-4901-a38a-4dee036639bf"]
}, Open  ]],
Cell[CellGroupData[{
Cell[21477, 539, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"aa159af6-9fbd-4180-9a5c-81c4965326b2"],
Cell[21704, 546, 131, 0, 70, "ExampleText",ExpressionUUID->"c521b93a-343e-4b9e-949d-4cf66bd9b533"],
Cell[CellGroupData[{
Cell[21860, 550, 1115, 28, 70, "Input",ExpressionUUID->"fd0cd914-7864-484c-bc14-fabce2b731e3"],
Cell[22978, 580, 409, 8, 70, "Output",ExpressionUUID->"d73c1e4b-51cf-4ade-96ce-793e6b231947"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[23436, 594, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"6518065b-430a-4705-a283-ad74cb2d6976"],
Cell[23663, 601, 139, 1, 70, "ExampleText",ExpressionUUID->"02325af3-7ef9-4351-b6e8-a01ebf354766"],
Cell[CellGroupData[{
Cell[23827, 606, 892, 23, 70, "Input",ExpressionUUID->"11615469-297f-47d9-a00c-a203bd0922ae"],
Cell[24722, 631, 124, 2, 70, "Output",ExpressionUUID->"b7bbecba-2b41-48d6-9736-33b8852d963a"]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[24907, 640, 1227, 31, 70, "ExampleSection",ExpressionUUID->"f9301655-a9de-42c9-a989-746d1698a902",
 CellID->1293636265],
Cell[26137, 673, 138, 1, 70, "ExampleText",ExpressionUUID->"95bbd7ca-2a02-48cc-8395-dbe4903bd1c5"],
Cell[CellGroupData[{
Cell[26300, 678, 962, 24, 70, "Input",ExpressionUUID->"be7a3bdc-40da-42a9-a148-0cecaf3d0fbc"],
Cell[27265, 704, 128, 1, 70, "Output",ExpressionUUID->"f8a0f0a7-6ebe-4621-8084-f35af6704270"]
}, Open  ]],
Cell[CellGroupData[{
Cell[27430, 710, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"d46b9171-cd10-4f44-9f9e-d699642619c7"],
Cell[27657, 717, 350, 7, 70, "ExampleText",ExpressionUUID->"b592e5d1-6c53-4bc9-a8d8-51a2f61be3ba"],
Cell[CellGroupData[{
Cell[28032, 728, 1059, 27, 70, "Input",ExpressionUUID->"84698632-1c68-4a4b-90ce-b22be3cc0cec"],
Cell[29094, 757, 107, 1, 70, "Output",ExpressionUUID->"e853c9a9-f92b-45cd-8059-e479b2928891"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[29250, 764, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"28d0bd0b-72b5-472e-83a8-143ba7c22a71"],
Cell[29477, 771, 300, 6, 70, "ExampleText",ExpressionUUID->"c89d0c30-44b5-4945-a778-bdd0c7d1161a"],
Cell[CellGroupData[{
Cell[29802, 781, 1125, 28, 70, "Input",ExpressionUUID->"e57b706c-9105-40b4-aa5e-97facfba01d4"],
Cell[30930, 811, 107, 1, 70, "Output",ExpressionUUID->"790e99da-f57a-4f66-a4fb-a7032b268391"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[31086, 818, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"95df6f42-977c-4f0e-b9c3-6f5493de2577"],
Cell[31313, 825, 342, 7, 70, "ExampleText",ExpressionUUID->"5454d9ee-8ce8-4aef-b3f2-da742921f18f"],
Cell[CellGroupData[{
Cell[31680, 836, 1122, 28, 70, "Input",ExpressionUUID->"8e4a0d4c-8510-4590-b8f2-2e4bbba7d48e"],
Cell[32805, 866, 153, 2, 70, "Output",ExpressionUUID->"ad0173e0-e1a7-4445-b5f3-7c81e2c8f778"]
}, Open  ]]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[33019, 875, 1233, 31, 70, "ExampleSection",ExpressionUUID->"c9d94085-b73d-4e91-ab7f-6b40ec565e3f",
 CellID->258228157],
Cell[34255, 908, 185, 3, 70, "ExampleText",ExpressionUUID->"998efb65-8ab6-4621-8ae8-e0ca8260fd1c"],
Cell[CellGroupData[{
Cell[34465, 915, 965, 24, 70, "Input",ExpressionUUID->"03f5de5f-0627-4ca1-965e-5b4760fa8e77"],
Cell[35433, 941, 107, 1, 70, "Output",ExpressionUUID->"0285e3c7-2a26-45dd-aceb-f5b507e6f620"]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[35589, 948, 1244, 31, 70, "ExampleSection",ExpressionUUID->"b2c9c94f-8cb4-4260-b6a0-c5f5578814e9",
 CellID->2123667759],
Cell[36836, 981, 916, 26, 70, "ExampleText",ExpressionUUID->"535b881a-ca35-426b-9989-1d42ba5ec411"],
Cell[CellGroupData[{
Cell[37777, 1011, 1885, 48, 70, "Input",ExpressionUUID->"4eabbbdc-33e5-4879-89f1-658ecb0e55e1"],
Cell[39665, 1061, 110, 1, 70, "Output",ExpressionUUID->"f57dc803-5fdf-4983-b0df-98e662efb069"]
}, Open  ]],
Cell[CellGroupData[{
Cell[39812, 1067, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"2161eb7f-785d-40e5-9a63-559420341ce4"],
Cell[40039, 1074, 576, 14, 70, "ExampleText",ExpressionUUID->"21a400b7-b292-462e-a888-4ef471df5c59"],
Cell[CellGroupData[{
Cell[40640, 1092, 1021, 26, 70, "Input",ExpressionUUID->"fce638bb-5c53-45cb-88fc-d6390bbe7a76"],
Cell[41664, 1120, 234, 4, 70, "Output",ExpressionUUID->"83242aa5-820a-442b-bf01-88fbbfc1809e"]
}, Open  ]]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[41959, 1131, 1237, 31, 70, "ExampleSection",ExpressionUUID->"a5bdd382-8108-42d8-a04a-873a5fe2750d",
 CellID->1305812373],
Cell[43199, 1164, 255, 4, 70, "ExampleText",ExpressionUUID->"60fdba29-f889-43d3-baf0-af9c3e579740"],
Cell[CellGroupData[{
Cell[43479, 1172, 1198, 30, 70, "Input",ExpressionUUID->"0eed2f88-278d-4a07-89c7-f8ecb85052b6"],
Cell[44680, 1204, 124, 2, 70, "Output",ExpressionUUID->"6290afbc-9031-4dbe-be1e-d9c4f628a907"]
}, Open  ]],
Cell[CellGroupData[{
Cell[44841, 1211, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"7265622c-53d1-4153-959f-0d998a1b530c"],
Cell[45068, 1218, 343, 7, 70, "ExampleText",ExpressionUUID->"eee69ce9-7595-460b-b0a8-621ba6813de9"],
Cell[CellGroupData[{
Cell[45436, 1229, 512, 13, 70, "Input",ExpressionUUID->"a1fedcb5-af0d-4c2b-bb2f-c57502e241c0"],
Cell[45951, 1244, 872, 19, 70, "Output",ExpressionUUID->"e96d4cec-481a-4685-ba4d-bb616e4656b7"]
}, Open  ]]
}, Open  ]]
}, Closed]]
}, Open  ]],
Cell[46874, 1269, 3152, 82, 70, "SeeAlsoSection",ExpressionUUID->"be7dc851-477b-4e54-b748-ce48a5e3d554"],
Cell[50029, 1353, 706, 19, 70, "MoreAboutSection",ExpressionUUID->"25bb8a1c-7440-457f-8ab2-4d0997cd9a87"],
Cell[50738, 1374, 78, 0, 70, "FooterCell",ExpressionUUID->"5ee0aba8-6b99-43c3-ac14-565703fb6f9c"]
}
]
*)

(* End of internal cache information *)

