(* 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[     61891,       1582]
NotebookOptionsPosition[     51114,       1385]
NotebookOutlinePosition[     53176,       1434]
CellTagsIndexPosition[     53098,       1429]
WindowTitle->BitRegroup
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->
           "6c3829dc-db08-4ac7-aacc-33de7a5e8e24"], 
          TemplateBox[{8},
           "Spacer1"]}]],
         TextAlignment->Center,ExpressionUUID->
         "5f3dd120-1126-4c43-bd9c-3aa8f9202a18"],
        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->
           "3ce9c26e-e7fa-4f04-b9ab-9c756eeff7e7"]
         }],ExpressionUUID->"dfca814a-e3b1-456f-9de3-81abe04c68f1"],
         StripOnInput->False],{
        StyleBox["\"Partition\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup["paclet:ref/Partition"], Delimiter, 
         StyleBox[
          "\"Functions\"", "SeeAlsoSection", FontSize -> 14, FontSlant -> 
           "Italic", StripOnInput -> False] :> 
         NotebookFind[EvaluationNotebook[], "SeeAlsoSection", All, CellStyle],
          StyleBox[
          StyleBox[
           "\"ByteListToBitList\"", "SeeAlsoRelated", StripOnInput -> False], 
           "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/ByteListToBitList"], 
         StyleBox[
          StyleBox[
           "\"BitListToByteList\"", "SeeAlsoRelated", StripOnInput -> False], 
           "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/BitListToByteList"], 
         StyleBox[
          StyleBox[
           "\"Bech32Encode\"", "SeeAlsoRelated", StripOnInput -> False], 
           "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/Bech32Encode"], 
         StyleBox[
          StyleBox[
           "\"SegWitAddressDecode\"", "SeeAlsoRelated", StripOnInput -> 
            False], "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/SegWitAddressDecode"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"SeeAlso"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "8469c938-f390-4625-8ec0-183c847c0d87"],
     "\[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->
           "87b5508f-bde3-4ed7-bb0a-be91e7bd1466"]
         }],ExpressionUUID->"afbae575-b35e-4c44-a8ec-9a511030c845"],
         StripOnInput->False],{
        "\"Encodings\"" :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/guide/Encodings"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"MoreAbout"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "52772c5f-0e90-44ab-98c3-048df80fefeb"],
     "\[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->
           "6e9324fe-7135-47b0-b95e-1c0cdc9da5ba"]
         }],ExpressionUUID->"6c477cc9-23af-4146-8189-eda717e53e34"],
         StripOnInput->False],{
        "\"WolframInstitute/Puzzles/ref/BitRegroup\"" :> None, 
         "\"Copy Wolfram Documentation Center URL\"" :> 
         CopyToClipboard["WolframInstitute/Puzzles/ref/BitRegroup"], 
         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/BitRegroup.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/BitRegroup" <> ".html"], 
              None}]}]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"URLMenu"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "0ebb601c-80cd-4502-861b-e638eabe9c02"]
    }], "AnchorBar",
     CacheGraphics->False,ExpressionUUID->
     "78176c11-aa0e-4091-90d3-2f2da69fc531"]}
  }]], "AnchorBarGrid",
 CellID->1,ExpressionUUID->"f89d47f4-f173-4160-bdde-83e174218e03"],

Cell["WolframInstitute`Puzzles`", "ContextNameCell",ExpressionUUID->"280d43c6-f2a9-4020-bda4-774f9c1bb47f"],

Cell[CellGroupData[{

Cell[BoxData[GridBox[{
   {Cell[TextData[{
     Cell[
     "BitRegroup", "ObjectName",ExpressionUUID->
      "47dba542-4c68-4b32-8087-231259e42352"],
     Cell[BoxData[
      TemplateBox[{8},
       "Spacer1"]],ExpressionUUID->"467ec6a6-7eee-4d41-a6fe-78ee1abcb111"],
     Cell[BoxData[
     ""], "ObjectNameTranslation",ExpressionUUID->
      "0d86437b-2785-49b8-81e9-9488d059ccde"]
    }],ExpressionUUID->"b9287cd8-a491-4277-9759-2dffcd17f063"], 
    "\[SpanFromLeft]"}
  }]], "ObjectNameGrid",ExpressionUUID->"0ec531cd-4bef-48c2-ad9a-\
c2270a2641ee"],

Cell[BoxData[GridBox[{
   {"", Cell[TextData[{
     Cell[BoxData[
      RowBox[{
       TemplateBox[{
         Cell[
          TextData["BitRegroup"]], 
         "paclet:WolframInstitute/Puzzles/ref/BitRegroup", 
         "WolframInstitute/Puzzles Package Symbol"},
        "PackageLink",
        BaseStyle->"InlineFormula"], "[", 
       RowBox[{
        StyleBox["values", "TI"], ",", " ", 
        StyleBox["m", "TI"], ",", " ", 
        StyleBox["n", "TI"]}], "]"}]], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "bd26ce93-408b-4add-8b4b-ffe079db619d"],
     "\[LineSeparator]",
     "regroups the bit stream carried by a list of ",
     StyleBox["m", "TI"],
     "-bit values into a list of ",
     StyleBox["n", "TI"],
     "-bit values, most significant bit first."
    }],ExpressionUUID->"2bd55f64-fb7f-44aa-94c5-c20cb43cbf00"]}
  }]], "Usage",ExpressionUUID->"97423348-1af8-4362-b4f3-eb178ad0ec3a"]
}, 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->"e54aea96-7a77-46b1-aa22-9637bb11a9d9"],
  Cell[BoxData[
   TemplateBox[{1},
    "Spacer1"]],ExpressionUUID->"fc57aa89-43cd-43c5-9c75-a60e6975733f"],
  "Details and Options"
 }], "NotesFrameText",ExpressionUUID->
  "aae041f2-5013-439d-ba41-d3cd8fa51d6c"]],ExpressionUUID->"d7f23b28-f568-\
41cc-ac1e-475ea72c1739"]], "NotesSection",
 ShowGroupOpener->"Thumbnail",
 WholeCellGroupOpener->True,
 CellGroupingRules->{"SectionGrouping", 50},
 CacheGraphics->False,
 CellID->1593409886,ExpressionUUID->"4617df24-07f3-4c11-8913-2ae315f94fe3"],

Cell[TextData[{
 "This is the ",
 Cell[BoxData["convertbits"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "0f48d0e8-3b28-4399-8381-c7d1659e4130"],
 " primitive of BIP173. Bech32 data parts are 5-bit values and witness \
programs are 8-bit bytes, so segregated witness address coding is a \
regrouping between widths 8 and 5 in each direction."
}], "Notes",ExpressionUUID->"1995c959-197a-4b57-ba15-94a2a8509e57"],

Cell[TextData[{
 "Every element of ",
 StyleBox["values", "TI"],
 " must be an integer between 0 and ",
 Cell[BoxData[
  RowBox[{
   SuperscriptBox["2", 
    StyleBox["m", "TI"]], "-", "1"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "170e0946-b161-44be-aecd-012755b8429e"],
 "; a value outside that range matches no definition and the call is returned \
unevaluated."
}], "Notes",ExpressionUUID->"6c1a613f-eb5f-4ad2-b60a-0a51fbfb5b85"],

Cell[TextData[{
 "Both ",
 StyleBox["m", "TI"],
 " and ",
 StyleBox["n", "TI"],
 " must be positive integers."
}], "Notes",ExpressionUUID->"5ae1f121-81d4-4ce3-91d7-5fb9ff1d4d79"],

Cell[TextData[{
 "With the default ",
 Cell[BoxData[
  RowBox[{"\<\"Padding\"\>", " ", "->", " ", "True"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "644f0d96-8fc1-4e87-b1ca-c613ae0b12b7"],
 " the bit stream is zero-padded on the right up to a whole multiple of ",
 StyleBox["n", "TI"],
 ", so no bits are lost."
}], "Notes",ExpressionUUID->"fc45578e-cb6d-436e-980d-5fb759fa7967"],

Cell[TextData[{
 "With ",
 Cell[BoxData[
  RowBox[{"\<\"Padding\"\>", " ", "->", " ", "False"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "1013a8bc-36ac-4717-83d1-762a0692a3fc"],
 " the leftover bits are discarded, but only after checking that they number \
fewer than ",
 StyleBox["m", "TI"],
 " and are all zero. Otherwise the result is a ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["Failure"]], "paclet:ref/Failure"},
   "RefLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",ExpressionUUID->
  "bc36ec53-a838-4620-9912-ef15ce93e75b"],
 "."
}], "Notes",ExpressionUUID->"d68de482-3358-4695-96c3-37907e77451e"],

Cell[TextData[{
 "The ",
 Cell[BoxData[
  RowBox[{"\<\"Padding\"\>", " ", "->", " ", "False"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "f9754fb0-90b0-4f1e-8b95-48943f8a461e"],
 " check is exactly what BIP173 requires when reading a witness program out \
of an address, and it is what rejects the \"zero padding of more than 4 \
bits\" and \"non-zero padding\" invalid address vectors."
}], "Notes",ExpressionUUID->"6348d659-7c19-44b1-85a0-1012e4a9dded"],

Cell["The empty list gives the empty list under either setting.", "Notes",ExpressionUUID->"599ea473-92ae-4255-8c83-95fabc499952"],

Cell[BoxData[GridBox[{
   {Cell["      ", "TableRowIcon",ExpressionUUID->
     "cc58fb7b-46b2-4b81-a1b8-d071e19de55d"], Cell["", "TableText",
     FontWeight->Bold,ExpressionUUID->"6dac5da0-cfc3-4179-ad26-0f14ad246dd5"],
     Cell["", "TableText",
     FontWeight->Bold,ExpressionUUID->"45852ff0-3355-466a-951e-e51df8c86b98"],
     Cell["", "TableText",
     FontWeight->Bold,ExpressionUUID->"7346569d-13a6-4057-b10d-e4a896968f62"]},
   {Cell["      ", "TableRowIcon",ExpressionUUID->
     "9fa6c84d-4b59-495c-ac6c-fcd35d7e4fdf"], Cell[TextData[Cell[
    BoxData["\"\<Padding\>\""], "InlineFormula",
     FontFamily->"Source Sans Pro",
     FontSize->0.9 Inherited,ExpressionUUID->
     "ea5b5709-a1c4-49d8-83cc-a55d7acf3480"]], "TableText",ExpressionUUID->
     "65faa215-2b61-43bd-841e-1df0faafc2df"], Cell[TextData[Cell[BoxData[
    "True"], "InlineFormula",
     FontFamily->"Source Sans Pro",
     FontSize->0.9 Inherited,ExpressionUUID->
     "4175a603-e357-415b-ad02-362de0cd193b"]], "TableText",ExpressionUUID->
     "98774682-ab43-487f-92f8-c24ac69173d7"], Cell[TextData[{
     "whether to zero-pad the last group; ",
     Cell[BoxData["False"], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "01a7d61c-c710-457e-8a57-00da90557b9d"],
     " instead requires the leftover bits to be fewer than ",
     StyleBox["m", "TI"],
     " and all zero"
    }], "TableText",ExpressionUUID->"da1e714f-d2bf-4888-ac58-eee74bae9811"]}
  }]], "3ColumnTableMod",
 GridBoxOptions->{
 GridBoxBackground->{"Columns" -> {{None}}, "Rows" -> {None, {None}}},
 GridBoxDividers->{
  "Rows" -> {{
     True, True, 
      True}}}},ExpressionUUID->"2fe152ec-a8a5-4439-b69c-352e62756b26"]
}, Closed]],

Cell["", "PageDelimiter",ExpressionUUID->"8ec5a29e-5598-4bb8-b001-754e4dcf425d"],

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->"21938431-32d8-4db6-974b-29b6594ec1b2"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"565ec2a4-a607-4e18-bd05-76da9f11be49"],
 "Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(14)", "ExampleCount",ExpressionUUID->
  "69fd7bd3-1dd4-4592-b769-341ae586ac0e"]
}], "PrimaryExamplesSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1318875912,ExpressionUUID->"a9a09004-b92d-4b5a-9bf3-7146eac33b0a"],

Cell[BoxData[
 RowBox[{"Needs", "[", "\"\<WolframInstitute`Puzzles`\>\"", "]"}]], "Input", \
"ExampleInitialization",
 CellLabel->"In[1]:=",
 CellID->1969679695,ExpressionUUID->"b2b385d5-e9da-4439-bd6b-e2457aa0b260"],

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->
  "d85f9b4f-0c6f-4fef-bc61-4c9c415b0ab0"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"19a62019-224c-43c3-bf7a-d46500009136"],
 "Basic Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(3)", "ExampleCount",ExpressionUUID->
  "a4694312-6904-4e0d-9a99-40d69e0467d1"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->21248650,ExpressionUUID->"fc9f213d-6cbb-4853-be38-21dcd3bc98e9"],

Cell["\<\
The 20-byte witness program of the BIP173 example address, regrouped into the \
5-bit values a Bech32 data part carries:\
\>", "ExampleText",
 CellTags->
  "TextAnnotation",ExpressionUUID->"08d321ea-7569-4b4c-8f0c-2a6aba95c44b"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"BitRegroup", "[", 
  RowBox[{
   RowBox[{
   "HexStringToByteList", 
    "[", "\"\<751e76e8199196d454941c45d1b3a323f1433bd6\>\"", "]"}], ",", " ", 
   "8", ",", " ", "5"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"64b84aea-6e22-4d7f-afa6-f6074f0a9220"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
  "14", ",", "20", ",", "15", ",", "7", ",", "13", ",", "26", ",", "0", ",", 
   "25", ",", "18", ",", "6", ",", "11", ",", "13", ",", "8", ",", "21", ",", 
   "4", ",", "20", ",", "3", ",", "17", ",", "2", ",", "29", ",", "3", ",", 
   "12", ",", "29", ",", "3", ",", "4", ",", "15", ",", "24", ",", "20", ",", 
   "6", ",", "14", ",", "30", ",", "22"}], "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"8a172343-b61f-4290-8910-14995f32619f"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "089fc805-b3ea-4279-8dea-320741ec0466"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"7394a862-33d8-4470-\
bc18-5609e0d6cc8f"],

Cell["\<\
Regrouping the other way recovers the program, once the four zero padding \
bits are dropped:\
\>", "ExampleText",ExpressionUUID->"59fa1e16-4b3b-4d10-9b32-6e202853dca6"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"ByteListToHexString", "[", 
  RowBox[{"BitRegroup", "[", 
   RowBox[{
    RowBox[{"{", 
     RowBox[{
     "14", ",", " ", "20", ",", " ", "15", ",", " ", "7", ",", " ", "13", ",",
       " ", "26", ",", " ", "0", ",", " ", "25", ",", " ", "18", ",", " ", 
      "6", ",", " ", "11", ",", " ", "13", ",", " ", "8", ",", " ", "21", ",",
       " ", "4", ",", " ", "20", ",", " ", "3", ",", " ", "17", ",", " ", "2",
       ",", " ", "29", ",", " ", "3", ",", " ", "12", ",", " ", "29", ",", 
      " ", "3", ",", " ", "4", ",", " ", "15", ",", " ", "24", ",", " ", "20",
       ",", " ", "6", ",", " ", "14", ",", " ", "30", ",", " ", "22"}], "}"}],
     ",", " ", "5", ",", " ", "8", ",", " ", 
    RowBox[{"\"\<Padding\>\"", " ", "->", " ", "False"}]}], "]"}], 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"3878fda6-de35-44f1-8b46-048033bf5c5d"],

Cell[BoxData["\<\"751e76e8199196d454941c45d1b3a323f1433bd6\"\>"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"b14781ec-a1dd-4c52-ae09-bf38ad8e79d4"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "05d80925-6d16-47d0-8f30-f00a42ae295b"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"6203fd80-fe4b-4cc9-\
835d-17079f02b5bf"],

Cell["\<\
A single byte carries eight bits, which is one 5-bit group plus three bits \
that padding completes:\
\>", "ExampleText",ExpressionUUID->"41999d54-8451-4dfc-a8cd-8f2883dc5e10"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"BitRegroup", "[", 
  RowBox[{
   RowBox[{"{", "255", "}"}], ",", " ", "8", ",", " ", "5"}], "]"}]], "Input",\

 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"df988670-2dae-4695-b9c2-eb91430f9f2d"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"31", ",", "28"}], "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"b4ee72c2-5541-4cf2-a3c8-3bd9dd2494aa"]
}, 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->
  "684fd3f4-787e-4c0b-9765-0738b0f190c3"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"88ef075d-e4c9-4c4e-a205-e96a3f93060f"],
 "Scope",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(4)", "ExampleCount",ExpressionUUID->
  "df120a8e-706b-45ce-b670-4de2c0a0c5ef"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1293636265,ExpressionUUID->"c8b845ca-04ae-438f-a47b-59d9f428fcbe"],

Cell["Regrouping into width 1 unpacks bytes to bits:", "ExampleText",ExpressionUUID->"fd693fc3-74e9-4473-9883-fe6e8a5bdc8e"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"BitRegroup", "[", 
  RowBox[{
   RowBox[{"{", "16^^41", "}"}], ",", " ", "8", ",", " ", "1"}], 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"161287e8-fc26-4033-b317-d0b9235c2706"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
  "0", ",", "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "1"}],
   "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"8b996093-ace4-4f60-b7fa-ece60938ed34"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "d87f3a59-88dc-4e05-853c-2b9c3089cfa8"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"6e7e3d3b-e5d4-4ca7-\
bf36-27abdd81be8e"],

Cell["Regrouping from width 1 packs bits into bytes:", "ExampleText",ExpressionUUID->"24396054-761a-436f-b2ab-25858dd6bfb8"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"BitRegroup", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{
    "0", ",", " ", "1", ",", " ", "0", ",", " ", "0", ",", " ", "0", ",", " ",
      "0", ",", " ", "0", ",", " ", "1"}], "}"}], ",", " ", "1", ",", " ", 
   "8"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"c0403651-fd60-4f2a-b12f-dccd369b6c9c"],

Cell[BoxData[
 RowBox[{"{", "65", "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"dc9283b5-3876-48d9-9d59-c1f12f7fa490"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "dbf08292-1fdc-4085-af73-21321b962dba"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"cfe72693-76e9-4e3c-\
af10-b3b2cabbae2d"],

Cell["\<\
The eleven-bit groups of a BIP39 mnemonic come from the same regrouping of \
the entropy bytes:\
\>", "ExampleText",ExpressionUUID->"ffa1e53e-18e5-47c1-83ba-314500066dee"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"BitRegroup", "[", 
  RowBox[{
   RowBox[{"ConstantArray", "[", 
    RowBox[{"255", ",", " ", "16"}], "]"}], ",", " ", "8", ",", " ", "11"}], 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"24050332-ef43-4ef9-b3bf-6fdebb6b4ea5"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
  "2047", ",", "2047", ",", "2047", ",", "2047", ",", "2047", ",", "2047", ",",
    "2047", ",", "2047", ",", "2047", ",", "2047", ",", "2047", ",", "2032"}],
   "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"d1600ee1-30b3-4e9b-a886-a392c5097681"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "c749d763-685d-4dbf-96c4-86fd762db929"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"39ce5eeb-cf59-4b9a-\
895b-ce411b608387"],

Cell["The empty list regroups to the empty list:", "ExampleText",ExpressionUUID->"eed18025-b6b7-466a-85e5-ee13eedee0e9"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"BitRegroup", "[", 
  RowBox[{
   RowBox[{"{", "}"}], ",", " ", "8", ",", " ", "5"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"cfb47322-1214-4456-b8ae-dbe5eb1a26b2"],

Cell[BoxData[
 RowBox[{"{", "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"bf266cb1-c160-47e9-b39d-ff461ac041ca"]
}, 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->
  "9e1a4227-5ab3-4041-b9cc-6944903c5baa"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"ddbe309b-d4e0-48f9-8936-f9c2b816cae1"],
 "Options",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(3)", "ExampleCount",ExpressionUUID->
  "1de4366b-795b-4c9e-a6dd-a2d6a69071e2"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->2061341341,ExpressionUUID->"bde5926a-2753-4ed1-be9f-7e6b33d54b6f"],

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->
  "864472a6-8bd3-4a1e-b2f7-072d24ee12ff"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"2c7469ee-c7d6-4104-8ea0-1e65fe4ab26c"],
 "Padding",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(1)", "ExampleCount",ExpressionUUID->
  "e69e9c54-8601-4b26-85c2-24651e8de2ed"]
}], "ExampleSubsection", "ExampleSubsection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,ExpressionUUID->"f3b7ddca-397f-444b-9dbe-4b8b104e8bed"],

Cell[TextData[{
 "With the default ",
 Cell[BoxData[
  RowBox[{"\<\"Padding\"\>", " ", "->", " ", "True"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "97a7792a-fdb8-44d9-99c4-af5e8c66bc69"],
 " a partial last group is completed with zeros:"
}], "ExampleText",ExpressionUUID->"d2392368-9910-4c63-b756-f97aff38c8a6"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"BitRegroup", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"1", ",", " ", "0", ",", " ", "1"}], "}"}], ",", " ", "1", ",", 
   " ", "8"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"0586cfb9-428b-4cdb-9bc1-b72eeee3ff86"],

Cell[BoxData[
 RowBox[{"{", "160", "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"58519f40-2b1c-4b81-9bbc-06a7913f3008"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "e97d0cfa-e69b-454b-bc03-ace49db886dd"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"1a72b57d-12b7-4fdb-\
9af8-e9ba386157c2"],

Cell[TextData[{
 "With ",
 Cell[BoxData[
  RowBox[{"\<\"Padding\"\>", " ", "->", " ", "False"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "be24f88b-a6fd-4ddc-9526-b0ac19b9b5bb"],
 " the same three bits are a non-zero remainder, so the result is a ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["Failure"]], "paclet:ref/Failure"},
   "RefLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",ExpressionUUID->
  "01420402-8c42-42ee-96a0-97ed0f0ff117"],
 ":"
}], "ExampleText",ExpressionUUID->"ae6288e8-6f55-4b90-a699-eb5f7968c33e"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"BitRegroup", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"1", ",", " ", "0", ",", " ", "1"}], "}"}], ",", " ", "1", ",", 
   " ", "8", ",", " ", 
   RowBox[{"\"\<Padding\>\"", " ", "->", " ", "False"}]}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"fda98a62-3c2a-464f-83e7-6dd9d2b779de"],

Cell[BoxData[
 InterpretationBox[
  RowBox[{
   TagBox["Failure",
    "SummaryHead"], "[", 
   DynamicModuleBox[{Typeset`open$$ = False, Typeset`embedState$$ = "Ready"}, 
    
    TemplateBox[{
      PaneSelectorBox[{False -> GridBox[{{
            PaneBox[
             ButtonBox[
              DynamicBox[
               FEPrivate`FrontEndResource["FEBitmaps", "SummaryBoxOpener"]], 
              ButtonFunction :> (Typeset`open$$ = True), Appearance -> None, 
              BaseStyle -> {}, Evaluator -> Automatic, Method -> 
              "Preemptive"], Alignment -> {Center, Center}, ImageSize -> 
             Dynamic[{
               Automatic, 
                3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
                 Magnification])}]], 
            FrameBox[
             StyleBox["\"\[WarningSign]\"", 
              Directive["Message", 35], StripOnInput -> False], 
             ContentPadding -> False, FrameStyle -> None, 
             FrameMargins -> {{0, 0}, {0, 0}}, StripOnInput -> False], 
            GridBox[{{
               TagBox[
                GridBox[{{
                   TagBox["\"Message: \"", "SummaryItemAnnotation"], 
                   "\[InvisibleSpace]", 
                   TagBox[
                   "\"BitRegroup with \\\"Padding\\\" -> False requires fewer \
than 1 leftover bits, all zero.\"", "SummaryItem"]}}, 
                 GridBoxItemSize -> {"Columns" -> {6.5, All, Automatic}}, 
                 GridBoxAlignment -> {"Columns" -> {{Left}}}, 
                 GridBoxSpacings -> {"Columns" -> {{0}}}], "SummaryItem"]}, {
               TagBox[
                GridBox[{{
                   TagBox["\"Tag: \"", "SummaryItemAnnotation"], 
                   "\[InvisibleSpace]", 
                   TagBox["\"ConfirmationFailed\"", "SummaryItem"]}}, 
                 GridBoxItemSize -> {"Columns" -> {6.5, All, Automatic}}, 
                 GridBoxAlignment -> {"Columns" -> {{Left}}}, 
                 GridBoxSpacings -> {"Columns" -> {{0}}}], "SummaryItem"]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, 
          AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}], True -> GridBox[{{
            PaneBox[
             ButtonBox[
              DynamicBox[
               FEPrivate`FrontEndResource["FEBitmaps", "SummaryBoxCloser"]], 
              ButtonFunction :> (Typeset`open$$ = False), Appearance -> None, 
              BaseStyle -> {}, Evaluator -> Automatic, Method -> 
              "Preemptive"], Alignment -> {Center, Center}, ImageSize -> 
             Dynamic[{
               Automatic, 
                3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
                 Magnification])}]], 
            FrameBox[
             StyleBox["\"\[WarningSign]\"", 
              Directive["Message", 35], StripOnInput -> False], 
             ContentPadding -> False, FrameStyle -> None, 
             FrameMargins -> {{0, 0}, {0, 0}}, StripOnInput -> False], 
            GridBox[{{
               TagBox[
                GridBox[{{
                   TagBox["\"Message: \"", "SummaryItemAnnotation"], 
                   "\[InvisibleSpace]", 
                   TagBox[
                   "\"BitRegroup with \\\"Padding\\\" -> False requires fewer \
than 1 leftover bits, all zero.\"", "SummaryItem"]}}, 
                 GridBoxItemSize -> {"Columns" -> {6.5, All, Automatic}}, 
                 GridBoxAlignment -> {"Columns" -> {{Left}}}, 
                 GridBoxSpacings -> {"Columns" -> {{0}}}], "SummaryItem"]}, {
               TagBox[
                GridBox[{{
                   TagBox["\"Tag: \"", "SummaryItemAnnotation"], 
                   "\[InvisibleSpace]", 
                   TagBox["\"ConfirmationFailed\"", "SummaryItem"]}}, 
                 GridBoxItemSize -> {"Columns" -> {6.5, All, Automatic}}, 
                 GridBoxAlignment -> {"Columns" -> {{Left}}}, 
                 GridBoxSpacings -> {"Columns" -> {{0}}}], "SummaryItem"]}, {
               RowBox[{
                 TagBox[
                  
                  TemplateBox[{"\"ConfirmationType\"", "\": \""}, 
                   "RowDefault"], "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox[
                  TagBox["\"ConfirmAssert\"", HoldForm], "SummaryItem"]}]}, {
               RowBox[{
                 TagBox[
                  TemplateBox[{"\"Expression\"", "\": \""}, "RowDefault"], 
                  "SummaryItemAnnotation"], "\[InvisibleSpace]", 
                 TagBox[
                  TagBox["False", HoldForm], "SummaryItem"]}]}, {
               RowBox[{
                 TagBox[
                  TemplateBox[{"\"Information\"", "\": \""}, "RowDefault"], 
                  "SummaryItemAnnotation"], "\[InvisibleSpace]", 
                 TagBox[
                  TagBox[
                  "\"BitRegroup with \\\"Padding\\\" -> False requires fewer \
than 1 leftover bits, all zero.\"", HoldForm], "SummaryItem"]}]}, {
               RowBox[{
                 TagBox[
                  TemplateBox[{"\"Test\"", "\": \""}, "RowDefault"], 
                  "SummaryItemAnnotation"], "\[InvisibleSpace]", 
                 TagBox[
                  TagBox["False", HoldForm], "SummaryItem"]}]}, {
               RowBox[{
                 TagBox[
                  TemplateBox[{"\"HeldTest\"", "\": \""}, "RowDefault"], 
                  "SummaryItemAnnotation"], "\[InvisibleSpace]", 
                 TagBox[
                  TagBox[
                   RowBox[{"Hold", "[", 
                    RowBox[{
                    RowBox[{"TrueQ", "[", 
                    RowBox[{"OptionValue", "[", 
                    RowBox[{"BitRegroup", ",", 
                    RowBox[{"{", 
                    RowBox[{"\"Padding\"", "\[Rule]", "False"}], "}"}], ",", 
                    "\"Padding\""}], "]"}], "]"}], "||", 
                    RowBox[{"(", 
                    RowBox[{
                    
                    RowBox[{
                    "WolframInstitute`Puzzles`Encodings`BaseConvert`Private`\
leftoverCount$198461", "<", "1"}], "&&", 
                    RowBox[{"!", 
                    RowBox[{"MemberQ", "[", 
                    
                    RowBox[{
                    "WolframInstitute`Puzzles`Encodings`BaseConvert`Private`\
leftover$198461", ",", "1"}], "]"}]}]}], ")"}]}], "]"}], HoldForm], 
                  "SummaryItem"]}]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, 
          AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}]}, 
       Dynamic[Typeset`open$$], ImageSize -> Automatic]},
     "SummaryPanel"],
    DynamicModuleValues:>{}], "]"}],
  Failure[
  "ConfirmationFailed", <|
   "MessageTemplate" -> 
    "BitRegroup with \"Padding\" -> False requires fewer than 1 leftover \
bits, all zero.", "MessageParameters" -> {}, "ConfirmationType" -> 
    "ConfirmAssert", "Expression" :> False, "Information" -> 
    "BitRegroup with \"Padding\" -> False requires fewer than 1 leftover \
bits, all zero.", "Test" :> False, "HeldTest" -> Hold[
      Or[
       TrueQ[
        OptionValue[
        WolframInstitute`Puzzles`BitRegroup, {"Padding" -> False}, 
         "Padding"]], 
       And[
       WolframInstitute`Puzzles`Encodings`BaseConvert`Private`leftoverCount$\
198461 < 1, 
        Not[
         MemberQ[
         WolframInstitute`Puzzles`Encodings`BaseConvert`Private`leftover$\
198461, 1]]]]]|>],
  Editable->False,
  SelectWithContents->True,
  Selectable->False]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"177e9c31-8dda-41c5-9869-55dd224a5c6c"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "f01e9a27-607e-463d-83cf-bc84200b147f"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"6767c580-82f9-4413-\
bf74-cd7beb87d802"],

Cell[TextData[{
 "Leftover bits that are all zero and fewer than ",
 StyleBox["m", "TI"],
 " are simply dropped:"
}], "ExampleText",ExpressionUUID->"7d496265-dd29-45f4-95ff-6a59020e1ca7"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"BitRegroup", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"0", ",", " ", "0"}], "}"}], ",", " ", "5", ",", " ", "8", ",", 
   " ", 
   RowBox[{"\"\<Padding\>\"", " ", "->", " ", "False"}]}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"4d54abb9-2095-4451-bb01-5da21d4cdf5e"],

Cell[BoxData[
 RowBox[{"{", "0", "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"e187a1c4-9e09-4124-9164-379b18ee5021"]
}, Open  ]]
}, Open  ]]
}, Closed]]
}, 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->
  "9df919d1-633a-4174-af87-6f2d960c596a"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"a3cfa88f-c7eb-48d3-9185-4cf325c79528"],
 "Properties & Relations",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(2)", "ExampleCount",ExpressionUUID->
  "18668fb4-554d-4f2a-9d22-6629c361acd2"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->2123667759,ExpressionUUID->"1a53e05a-e4ab-42f0-ba2f-f5191e81d970"],

Cell["\<\
Regrouping to a width and back again is the identity when the widths divide \
evenly:\
\>", "ExampleText",ExpressionUUID->"f0d3a5c2-d6e5-467a-a3c9-d2fea8bcaa3e"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"BitRegroup", "[", 
   RowBox[{
    RowBox[{"BitRegroup", "[", 
     RowBox[{
      RowBox[{"Range", "[", 
       RowBox[{"0", ",", " ", "255"}], "]"}], ",", " ", "8", ",", " ", "4"}], 
     "]"}], ",", " ", "4", ",", " ", "8"}], "]"}], " ", "===", " ", 
  RowBox[{"Range", "[", 
   RowBox[{"0", ",", " ", "255"}], "]"}]}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"971ffd0f-22f3-4bc6-93f4-dddea3ab285e"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"e8f58d37-be73-4727-ac35-30f58a5f4ff9"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "df268625-d519-4936-a996-74f116a3643e"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"3b12129c-95db-48df-\
ba57-70ba9ce9b473"],

Cell[TextData[{
 "The BIP350 invalid address ",
 Cell[BoxData["\<\"\
bc1p0xlxvlhemja6c4dqv22uapctqupfhlxm9h8z3k2e72q4k9hcz7v07qwwzcrf\"\>"], 
  "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "7dae2b59-20d9-45e0-b92f-b23d41336dad"],
 " fails on exactly this check, which is why ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["SegWitAddressQ"]], 
    "paclet:WolframInstitute/Puzzles/ref/SegWitAddressQ", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "f304701c-d99d-4554-8491-86b589b61600"],
 " rejects it:"
}], "ExampleText",ExpressionUUID->"f4778c90-9b46-41bf-a709-e04ef4dff0cf"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"SegWitAddressQ", "[", 
  RowBox[{"\"\<bc\>\"", ",", 
   " ", "\"\<bc1p0xlxvlhemja6c4dqv22uapctqupfhlxm9h8z3k2e72q4k9hcz7v07qwwzcrf\
\>\""}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"783a00ca-16b4-4b06-b9c5-f13d95ae9dba"],

Cell[BoxData["False"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"23308aa0-4a35-4c7b-8a2d-94ec4ea05b38"]
}, 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->
  "d4ab18d6-aa83-4855-8fd4-9b10043c885d"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"5e972539-ac9c-49fa-a482-2c1cf86e6066"],
 "Possible Issues",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(2)", "ExampleCount",ExpressionUUID->
  "7c5d26e6-3731-4dd9-a1fc-162f6ee307ad"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1305812373,ExpressionUUID->"11d2d1b4-f27f-4ab5-bde6-75b84b885efc"],

Cell[TextData[{
 "Under ",
 Cell[BoxData[
  RowBox[{"\<\"Padding\"\>", " ", "->", " ", "False"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "cbc35d30-c2ad-4601-ac99-17da97e6f0a7"],
 " a leftover of ",
 StyleBox["m", "TI"],
 " or more bits means a whole input value was ignored, which BIP173 rejects:"
}], "ExampleText",ExpressionUUID->"2daa7eb2-11c2-4509-872e-2f8d3bbe4efe"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"FailureQ", "[", 
  RowBox[{"BitRegroup", "[", 
   RowBox[{
    RowBox[{"{", "0", "}"}], ",", " ", "5", ",", " ", "8", ",", " ", 
    RowBox[{"\"\<Padding\>\"", " ", "->", " ", "False"}]}], "]"}], 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"35c6dd90-372b-4067-ad13-09ed30be4e00"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"74528309-7863-4810-86c7-ddc9b6644fb0"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "04d53f8a-7081-49c9-a414-1ce7a7027b68"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"0a98629e-6e40-4519-\
945c-98ca4ea0b992"],

Cell[TextData[{
 "A value that does not fit in ",
 StyleBox["m", "TI"],
 " bits matches no definition, so the call is returned unevaluated:"
}], "ExampleText",ExpressionUUID->"a20d8cbe-65e1-4268-911d-e144c65c0d6b"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"BitRegroup", "[", 
  RowBox[{
   RowBox[{"{", "32", "}"}], ",", " ", "5", ",", " ", "8"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"2698dffe-e320-4363-85ac-69f7eb3ecac3"],

Cell[BoxData[
 RowBox[{"BitRegroup", "[", 
  RowBox[{
   RowBox[{"{", "32", "}"}], ",", "5", ",", "8"}], "]"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"a922a61b-4421-42cd-8110-30830a8bb4cb"]
}, 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["ByteListToBitList"]], 
           "paclet:WolframInstitute/Puzzles/ref/ByteListToBitList", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "e51ea105-0378-4b05-a341-12037d55b2a1"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["BitListToByteList"]], 
           "paclet:WolframInstitute/Puzzles/ref/BitListToByteList", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "e26ebb08-b48d-4b16-8fb4-a2ee75948626"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Bech32Encode"]], 
           "paclet:WolframInstitute/Puzzles/ref/Bech32Encode", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "87ca5026-ccad-4988-80ce-ed1b20230d6b"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["SegWitAddressDecode"]], 
           "paclet:WolframInstitute/Puzzles/ref/SegWitAddressDecode", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "8fc1a6aa-fa4e-4a6f-8d1a-9c805cb97793"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Partition"]], "paclet:ref/Partition"},
          "RefLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "5b266f98-c73b-49fa-a8b3-9a6879482a06"]
       }], "SeeAlso",ExpressionUUID->"4db3e48f-3a0b-4ab7-b230-3b54eea64806"]}
     }]}
  }]], "SeeAlsoSection",ExpressionUUID->"b20c3e9b-947f-4d81-b4c8-\
fd9eceb471ee"],

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["Encodings"]], 
           "paclet:WolframInstitute/Puzzles/guide/Encodings"},
          "RefLinkPlain",
          BaseStyle->{"MoreAbout"}]], "MoreAbout",ExpressionUUID->
         "de0189e2-b73f-4571-addb-1bae53842ca4"]}]}
     }]}
  }]], "MoreAboutSection",ExpressionUUID->"44929086-090a-4451-a646-\
9bed3364906d"],

Cell[" ", "FooterCell",ExpressionUUID->"7eaf81a3-8297-4a96-a12e-edfe83aabc15"]
},
Saveable->False,
ScreenStyleEnvironment->"Working",
WindowSize->{900, 830},
WindowMargins->{{0, Automatic}, {Automatic, 0}},
WindowTitle->"BitRegroup",
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, 29.553304}", 
    "history" -> {"XX", "", "", ""}, "context" -> "WolframInstitute`Puzzles`",
     "keywords" -> {}, "specialkeywords" -> {}, 
    "tutorialcollectionlinks" -> {}, "index" -> True, "label" -> 
    "Wolfram Institute/ Puzzles Symbol", "language" -> "en", "paclet" -> 
    "WolframInstitute/Puzzles", "status" -> "None", "summary" -> 
    "PackageLink[BitRegroup,paclet : WolframInstitute/Puzzles/ref/BitRegroup, \
WolframInstitute/Puzzles Package Symbol][values, m, n] regroups the bit \
stream carried by a list of m-bit values into a list of n-bit values, most \
significant bit first.", "synonyms" -> {}, "tabletags" -> {}, "title" -> 
    "BitRegroup", "titlemodifier" -> "", "metadescription" -> "", 
    "windowtitle" -> "BitRegroup", "type" -> "Symbol", "uri" -> 
    "WolframInstitute/Puzzles/ref/BitRegroup", "WorkflowDockedCell" -> ""}, 
  "SearchTextTranslated" -> ""},
CellContext->CellGroup,
FrontEndVersion->"15.0 for Mac OS X ARM (64-bit) (May 19, 2026)",
StyleDefinitions->FrontEnd`FileName[{"Wolfram"}, "Reference.nb"],
ExpressionUUID->"8832924a-2beb-4803-aad7-d2d749b432d9"
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{
 "TextAnnotation"->{
  Cell[17694, 466, 238, 5, 70, "ExampleText",ExpressionUUID->"08d321ea-7569-4b4c-8f0c-2a6aba95c44b",
   CellTags->"TextAnnotation"]}
 }
*)
(*CellTagsIndex
CellTagsIndex->{
 {"TextAnnotation", 52941, 1423}
 }
*)
(*NotebookFileOutline
Notebook[{
Cell[578, 21, 6297, 153, 70, "AnchorBarGrid",ExpressionUUID->"f89d47f4-f173-4160-bdde-83e174218e03",
 CellID->1],
Cell[6878, 176, 107, 0, 70, "ContextNameCell",ExpressionUUID->"280d43c6-f2a9-4020-bda4-774f9c1bb47f"],
Cell[CellGroupData[{
Cell[7010, 180, 553, 14, 70, "ObjectNameGrid",ExpressionUUID->"0ec531cd-4bef-48c2-ad9a-c2270a2641ee"],
Cell[7566, 196, 969, 25, 70, "Usage",ExpressionUUID->"97423348-1af8-4362-b4f3-eb178ad0ec3a"]
}, Open  ]],
Cell[CellGroupData[{
Cell[8572, 226, 1444, 34, 70, "NotesSection",ExpressionUUID->"4617df24-07f3-4c11-8913-2ae315f94fe3",
 CellGroupingRules->{"SectionGrouping", 50},
 CellID->1593409886],
Cell[10019, 262, 463, 9, 70, "Notes",ExpressionUUID->"1995c959-197a-4b57-ba15-94a2a8509e57"],
Cell[10485, 273, 490, 13, 70, "Notes",ExpressionUUID->"6c1a613f-eb5f-4ad2-b60a-0a51fbfb5b85"],
Cell[10978, 288, 178, 6, 70, "Notes",ExpressionUUID->"5ae1f121-81d4-4ce3-91d7-5fb9ff1d4d79"],
Cell[11159, 296, 435, 10, 70, "Notes",ExpressionUUID->"fc45578e-cb6d-436e-980d-5fb759fa7967"],
Cell[11597, 308, 718, 20, 70, "Notes",ExpressionUUID->"d68de482-3358-4695-96c3-37907e77451e"],
Cell[12318, 330, 510, 10, 70, "Notes",ExpressionUUID->"6348d659-7c19-44b1-85a0-1012e4a9dded"],
Cell[12831, 342, 129, 0, 70, "Notes",ExpressionUUID->"599ea473-92ae-4255-8c83-95fabc499952"],
Cell[12963, 344, 1728, 35, 70, "3ColumnTableMod",ExpressionUUID->"2fe152ec-a8a5-4439-b69c-352e62756b26"]
}, Closed]],
Cell[14706, 382, 80, 0, 70, "PageDelimiter",ExpressionUUID->"8ec5a29e-5598-4bb8-b001-754e4dcf425d"],
Cell[CellGroupData[{
Cell[14811, 386, 1402, 37, 70, "PrimaryExamplesSection",ExpressionUUID->"a9a09004-b92d-4b5a-9bf3-7146eac33b0a",
 CellID->1318875912],
Cell[16216, 425, 216, 4, 70, "Input",ExpressionUUID->"b2b385d5-e9da-4439-bd6b-e2457aa0b260",
 CellID->1969679695],
Cell[CellGroupData[{
Cell[16457, 433, 1234, 31, 70, "ExampleSection",ExpressionUUID->"fc9f213d-6cbb-4853-be38-21dcd3bc98e9",
 CellID->21248650],
Cell[17694, 466, 238, 5, 70, "ExampleText",ExpressionUUID->"08d321ea-7569-4b4c-8f0c-2a6aba95c44b",
 CellTags->"TextAnnotation"],
Cell[CellGroupData[{
Cell[17957, 475, 340, 8, 70, "Input",ExpressionUUID->"64b84aea-6e22-4d7f-afa6-f6074f0a9220"],
Cell[18300, 485, 492, 8, 70, "Output",ExpressionUUID->"8a172343-b61f-4290-8910-14995f32619f"]
}, Open  ]],
Cell[CellGroupData[{
Cell[18829, 498, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"7394a862-33d8-4470-bc18-5609e0d6cc8f"],
Cell[19056, 505, 179, 3, 70, "ExampleText",ExpressionUUID->"59fa1e16-4b3b-4d10-9b32-6e202853dca6"],
Cell[CellGroupData[{
Cell[19260, 512, 932, 17, 70, "Input",ExpressionUUID->"3878fda6-de35-44f1-8b46-048033bf5c5d"],
Cell[20195, 531, 154, 1, 70, "Output",ExpressionUUID->"b14781ec-a1dd-4c52-ae09-bf38ad8e79d4"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[20398, 538, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"6203fd80-fe4b-4cc9-835d-17079f02b5bf"],
Cell[20625, 545, 186, 3, 70, "ExampleText",ExpressionUUID->"41999d54-8451-4dfc-a8cd-8f2883dc5e10"],
Cell[CellGroupData[{
Cell[20836, 552, 261, 6, 70, "Input",ExpressionUUID->"df988670-2dae-4695-b9c2-eb91430f9f2d"],
Cell[21100, 560, 154, 3, 70, "Output",ExpressionUUID->"b4ee72c2-5541-4cf2-a3c8-3bd9dd2494aa"]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[21315, 570, 1227, 31, 70, "ExampleSection",ExpressionUUID->"c8b845ca-04ae-438f-a47b-59d9f428fcbe",
 CellID->1293636265],
Cell[22545, 603, 124, 0, 70, "ExampleText",ExpressionUUID->"fd693fc3-74e9-4473-9883-fe6e8a5bdc8e"],
Cell[CellGroupData[{
Cell[22694, 607, 265, 6, 70, "Input",ExpressionUUID->"161287e8-fc26-4033-b317-d0b9235c2706"],
Cell[22962, 615, 218, 5, 70, "Output",ExpressionUUID->"8b996093-ace4-4f60-b7fa-ece60938ed34"]
}, Open  ]],
Cell[CellGroupData[{
Cell[23217, 625, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"6e7e3d3b-e5d4-4ca7-bf36-27abdd81be8e"],
Cell[23444, 632, 124, 0, 70, "ExampleText",ExpressionUUID->"24396054-761a-436f-b2ab-25858dd6bfb8"],
Cell[CellGroupData[{
Cell[23593, 636, 392, 9, 70, "Input",ExpressionUUID->"c0403651-fd60-4f2a-b12f-dccd369b6c9c"],
Cell[23988, 647, 130, 2, 70, "Output",ExpressionUUID->"dc9283b5-3876-48d9-9d59-c1f12f7fa490"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[24167, 655, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"cfe72693-76e9-4e3c-af10-b3b2cabbae2d"],
Cell[24394, 662, 181, 3, 70, "ExampleText",ExpressionUUID->"ffa1e53e-18e5-47c1-83ba-314500066dee"],
Cell[CellGroupData[{
Cell[24600, 669, 311, 7, 70, "Input",ExpressionUUID->"24050332-ef43-4ef9-b3bf-6fdebb6b4ea5"],
Cell[24914, 678, 298, 6, 70, "Output",ExpressionUUID->"d1600ee1-30b3-4e9b-a886-a392c5097681"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[25261, 690, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"39ce5eeb-cf59-4b9a-895b-ce411b608387"],
Cell[25488, 697, 120, 0, 70, "ExampleText",ExpressionUUID->"eed18025-b6b7-466a-85e5-ee13eedee0e9"],
Cell[CellGroupData[{
Cell[25633, 701, 252, 5, 70, "Input",ExpressionUUID->"cfb47322-1214-4456-b8ae-dbe5eb1a26b2"],
Cell[25888, 708, 124, 2, 70, "Output",ExpressionUUID->"bf266cb1-c160-47e9-b39d-ff461ac041ca"]
}, Open  ]]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[26073, 717, 1229, 31, 70, "ExampleSection",ExpressionUUID->"bde5926a-2753-4ed1-be9f-7e6b33d54b6f",
 CellID->2061341341],
Cell[CellGroupData[{
Cell[27327, 752, 1214, 30, 70, "ExampleSubsection",ExpressionUUID->"f3b7ddca-397f-444b-9dbe-4b8b104e8bed"],
Cell[28544, 784, 368, 8, 70, "ExampleText",ExpressionUUID->"d2392368-9910-4c63-b756-f97aff38c8a6"],
Cell[CellGroupData[{
Cell[28937, 796, 306, 7, 70, "Input",ExpressionUUID->"0586cfb9-428b-4cdb-9bc1-b72eeee3ff86"],
Cell[29246, 805, 131, 2, 70, "Output",ExpressionUUID->"58519f40-2b1c-4b81-9bbc-06a7913f3008"]
}, Open  ]],
Cell[CellGroupData[{
Cell[29414, 812, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"1a72b57d-12b7-4fdb-9af8-e9ba386157c2"],
Cell[29641, 819, 630, 17, 70, "ExampleText",ExpressionUUID->"ae6288e8-6f55-4b90-a699-eb5f7968c33e"],
Cell[CellGroupData[{
Cell[30296, 840, 374, 8, 70, "Input",ExpressionUUID->"fda98a62-3c2a-464f-83e7-6dd9d2b779de"],
Cell[30673, 850, 8764, 186, 70, "Output",ExpressionUUID->"177e9c31-8dda-41c5-9869-55dd224a5c6c"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[39486, 1042, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"6767c580-82f9-4413-bf74-cd7beb87d802"],
Cell[39713, 1049, 187, 4, 70, "ExampleText",ExpressionUUID->"7d496265-dd29-45f4-95ff-6a59020e1ca7"],
Cell[CellGroupData[{
Cell[39925, 1057, 359, 8, 70, "Input",ExpressionUUID->"4d54abb9-2095-4451-bb01-5da21d4cdf5e"],
Cell[40287, 1067, 129, 2, 70, "Output",ExpressionUUID->"e187a1c4-9e09-4124-9164-379b18ee5021"]
}, Open  ]]
}, Open  ]]
}, Closed]]
}, Closed]],
Cell[CellGroupData[{
Cell[40489, 1077, 1244, 31, 70, "ExampleSection",ExpressionUUID->"1a53e05a-e4ab-42f0-ba2f-f5191e81d970",
 CellID->2123667759],
Cell[41736, 1110, 171, 3, 70, "ExampleText",ExpressionUUID->"f0d3a5c2-d6e5-467a-a3c9-d2fea8bcaa3e"],
Cell[CellGroupData[{
Cell[41932, 1117, 494, 12, 70, "Input",ExpressionUUID->"971ffd0f-22f3-4bc6-93f4-dddea3ab285e"],
Cell[42429, 1131, 110, 1, 70, "Output",ExpressionUUID->"e8f58d37-be73-4727-ac35-30f58a5f4ff9"]
}, Open  ]],
Cell[CellGroupData[{
Cell[42576, 1137, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"3b12129c-95db-48df-ba57-70ba9ce9b473"],
Cell[42803, 1144, 787, 21, 70, "ExampleText",ExpressionUUID->"f4778c90-9b46-41bf-a709-e04ef4dff0cf"],
Cell[CellGroupData[{
Cell[43615, 1169, 308, 6, 70, "Input",ExpressionUUID->"783a00ca-16b4-4b06-b9c5-f13d95ae9dba"],
Cell[43926, 1177, 111, 1, 70, "Output",ExpressionUUID->"23308aa0-4a35-4c7b-8a2d-94ec4ea05b38"]
}, Open  ]]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[44098, 1185, 1237, 31, 70, "ExampleSection",ExpressionUUID->"11d2d1b4-f27f-4ab5-bde6-75b84b885efc",
 CellID->1305812373],
Cell[45338, 1218, 428, 10, 70, "ExampleText",ExpressionUUID->"2daa7eb2-11c2-4509-872e-2f8d3bbe4efe"],
Cell[CellGroupData[{
Cell[45791, 1232, 366, 8, 70, "Input",ExpressionUUID->"35c6dd90-372b-4067-ad13-09ed30be4e00"],
Cell[46160, 1242, 110, 1, 70, "Output",ExpressionUUID->"74528309-7863-4810-86c7-ddc9b6644fb0"]
}, Open  ]],
Cell[CellGroupData[{
Cell[46307, 1248, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"0a98629e-6e40-4519-945c-98ca4ea0b992"],
Cell[46534, 1255, 214, 4, 70, "ExampleText",ExpressionUUID->"a20d8cbe-65e1-4268-911d-e144c65c0d6b"],
Cell[CellGroupData[{
Cell[46773, 1263, 258, 5, 70, "Input",ExpressionUUID->"2698dffe-e320-4363-85ac-69f7eb3ecac3"],
Cell[47034, 1270, 201, 4, 70, "Output",ExpressionUUID->"a922a61b-4421-42cd-8110-30830a8bb4cb"]
}, Open  ]]
}, Open  ]]
}, Closed]]
}, Open  ]],
Cell[47286, 1280, 3042, 80, 70, "SeeAlsoSection",ExpressionUUID->"b20c3e9b-947f-4d81-b4c8-fd9eceb471ee"],
Cell[50331, 1362, 698, 19, 70, "MoreAboutSection",ExpressionUUID->"44929086-090a-4451-a646-9bed3364906d"],
Cell[51032, 1383, 78, 0, 70, "FooterCell",ExpressionUUID->"7eaf81a3-8297-4a96-a12e-edfe83aabc15"]
}
]
*)

(* End of internal cache information *)

