-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTask.nb
More file actions
1518 lines (1489 loc) · 70.1 KB
/
Task.nb
File metadata and controls
1518 lines (1489 loc) · 70.1 KB
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
(* Content-type: application/vnd.wolfram.mathematica *)
(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)
(* CreatedBy='Mathematica 10.0' *)
(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[ 158, 7]
NotebookDataLength[ 71647, 1510]
NotebookOptionsPosition[ 70453, 1462]
NotebookOutlinePosition[ 70924, 1484]
CellTagsIndexPosition[ 70856, 1479]
WindowFrame->Normal*)
(* Beginning of Notebook Content *)
Notebook[{
Cell[BoxData[
RowBox[{
RowBox[{"Include", "/@",
RowBox[{"{", "\"\<$.m\>\"", "}"}]}], ";"}]], "Code",
CellChangeTimes->{
3.6046428559376287`*^9, {3.604642912614871*^9, 3.604642912974891*^9}, {
3.6046436073876095`*^9, 3.604643617059163*^9}, {3.6046436584015274`*^9,
3.604643659289578*^9}, 3.631352154573056*^9, {3.6570871163248496`*^9,
3.6570871788604264`*^9}, {3.657087252228623*^9, 3.657087402812236*^9}, {
3.6570874483488407`*^9, 3.6570874552202334`*^9}, 3.6570876084769993`*^9, {
3.6570880508683023`*^9, 3.6570880528914185`*^9}, 3.6571153888649464`*^9, {
3.6571156222902975`*^9, 3.6571156317298374`*^9}, {3.6571157266422663`*^9,
3.657115727282303*^9}, {3.657115823992834*^9, 3.6571158551046143`*^9}, {
3.657161358782029*^9, 3.657161484787236*^9}, 3.657161536794211*^9, {
3.657161567536969*^9, 3.657161583668892*^9}, {3.657161650242885*^9,
3.6571616589349594`*^9}, {3.657161697910094*^9, 3.6571617077486305`*^9}, {
3.6571638071003013`*^9, 3.6571638496557264`*^9}, {3.684650987293664*^9,
3.684650996487468*^9}}],
Cell[CellGroupData[{
Cell["Declaration", "Section",
ShowGroupOpener->True,
WholeCellGroupOpener->True,
CellChangeTimes->{{3.596256784940527*^9, 3.5962567950771065`*^9}, {
3.5962568419007845`*^9, 3.596256845363983*^9}}],
Cell[BoxData[{
RowBox[{
RowBox[{"Off", "[",
StyleBox[
RowBox[{"DeclarePackage", "::", "aldec"}], "MessageName"],
StyleBox["]", "MessageName"]}],
StyleBox[";", "MessageName"]}], "\[IndentingNewLine]",
RowBox[{"<<", "AuthorTools`"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"On", "[",
StyleBox[
RowBox[{"DeclarePackage", "::", "aldec"}], "MessageName"],
StyleBox["]", "MessageName"]}],
StyleBox[";", "MessageName"]}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"BeginPackage", "[", "\"\<IonTrap`\>\"", "]"}], ";"}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"SectionPattern", "=",
RowBox[{
"\"\<Title\>\"", "|", "\"\<Section\>\"", "|", "\"\<Subsection\>\"", "|",
"\"\<Subsubsection\>\""}]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"SectionIndent", "=",
RowBox[{"Each", "[",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"Transpose", "@",
RowBox[{"{",
RowBox[{"#", ",",
RowBox[{"Range", "@",
RowBox[{"Length", "@", "#"}]}]}], "}"}]}], "&"}], "[",
RowBox[{"List", "@@", "SectionPattern"}], "]"}], ",",
RowBox[{
RowBox[{"#1", "\[Rule]",
RowBox[{"StringJoin", "@@",
RowBox[{"ConstantArray", "[",
RowBox[{"\"\< \>\"", ",", "#2"}], "]"}]}]}], "&"}]}], "]"}]}],
";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"ClearAll", "[",
RowBox[{
"System`Each", ",", "Locate", ",", "Traverse", ",", "FindNotebook", ",",
"CellGroups", ",", "CellStyleName", ",", "CellText", ",", "Sections", ",",
"SectionGroups", ",", "PrintNotebook", ",", "Task", ",", "$Task", ",",
"TaskEvaluate", ",", "TaskPrint", ",", "CellTask", ",", "SectionTask",
",", "SectionNotebook", ",", "$Section"}], "]"}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"Begin", "[", "\"\<`Private`\>\"", "]"}], ";"}]}], "Input",
InitializationCell->True,
CellChangeTimes->{{3.656628372714115*^9, 3.656628375456153*^9}, {
3.6568461770061827`*^9, 3.6568461936148915`*^9}, {3.6568462330786486`*^9,
3.6568462707421083`*^9}, {3.656846301541792*^9, 3.6568463576364613`*^9}, {
3.6568463894209986`*^9, 3.6568464583807697`*^9}, {3.656846491372773*^9,
3.656846492564639*^9}, 3.656846592036478*^9, {3.6568469972130375`*^9,
3.6568470664966335`*^9}, {3.65684712267251*^9, 3.6568471912822614`*^9}, {
3.656847250112281*^9, 3.6568472504623013`*^9}, {3.656847401504366*^9,
3.656847410255043*^9}, {3.6568475032219286`*^9, 3.6568475641812663`*^9}, {
3.6568476793811646`*^9, 3.6568476917804427`*^9}, {3.656847979618991*^9,
3.656848002738654*^9}, {3.6568480346341977`*^9, 3.656848057818864*^9}, {
3.6568481083692293`*^9, 3.656848109058066*^9}, {3.656848342457637*^9,
3.6568483620413084`*^9}, {3.6568610861249065`*^9,
3.6568610908143644`*^9}, {3.6568613163726993`*^9,
3.6568613505883713`*^9}, {3.6568613863693275`*^9,
3.6568613869723616`*^9}, {3.6568614653962474`*^9,
3.6568614720112123`*^9}, {3.657076836614884*^9, 3.6570769031666903`*^9}, {
3.6570769695744886`*^9, 3.657076971894622*^9}, {3.6570771981345615`*^9,
3.6570772008627176`*^9}, {3.657077275855007*^9, 3.657077277903124*^9}, {
3.657079825502838*^9, 3.657079831215165*^9}, {3.6570798890554733`*^9,
3.6570798908785777`*^9}, {3.6570800264383316`*^9, 3.65708002798342*^9}, {
3.6570808314313745`*^9, 3.6570808346465583`*^9}, {3.657081139888017*^9,
3.657081141143089*^9}, {3.657086256340661*^9, 3.6570862573567195`*^9}, {
3.6570864209010735`*^9, 3.6570864564931097`*^9}, {3.6570864940692587`*^9,
3.6570865119492817`*^9}, {3.6570881128288465`*^9,
3.6570881191562085`*^9}, {3.657088993269205*^9, 3.657089002244718*^9}, {
3.6570902888663087`*^9, 3.6570902900593767`*^9}, {3.6570989911540513`*^9,
3.657098996361349*^9}, {3.65709965726515*^9, 3.6570996617934093`*^9}, {
3.657101887041686*^9, 3.657101891177923*^9}, {3.6571082284333935`*^9,
3.657108230881533*^9}, {3.6571083990731535`*^9, 3.6571084012022753`*^9}, {
3.6571085251473646`*^9, 3.6571085269304667`*^9}, {3.657109343202154*^9,
3.657109345730299*^9}, {3.6571164788102875`*^9, 3.6571164847856293`*^9}, {
3.657122099345764*^9, 3.6571221116654687`*^9}, {3.6571222189616055`*^9,
3.6571222192176204`*^9}, {3.6571622124177637`*^9,
3.6571622146248903`*^9}, {3.6571682266909647`*^9,
3.6571682343134003`*^9}, {3.657851314454341*^9, 3.6578513160455437`*^9}, {
3.6578514300843477`*^9, 3.6578514362483587`*^9}, {3.657851855739298*^9,
3.6578518607305703`*^9}, {3.657852003113351*^9, 3.6578520034013677`*^9},
3.657852179824216*^9, {3.657853159818593*^9, 3.6578531600876083`*^9}, {
3.6578545438478994`*^9, 3.6578545458118095`*^9}, {3.6578548827258406`*^9,
3.6578548839977107`*^9}, {3.66112287900002*^9, 3.661122905960562*^9}}]
}, Closed]],
Cell[CellGroupData[{
Cell["Definition", "Section",
ShowGroupOpener->True,
WholeCellGroupOpener->True,
CellChangeTimes->{{3.6046429445346966`*^9, 3.604642957117416*^9}}],
Cell[BoxData[{
RowBox[{
RowBox[{
RowBox[{
RowBox[{"System`Each", "[",
RowBox[{"lst_", ",", "expr_"}], "]"}], ":=",
RowBox[{
RowBox[{
RowBox[{"(",
RowBox[{"expr", "@@", "#"}], ")"}], "&"}], "/@", "lst"}]}], ";"}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"Locate", "::", "posd"}], "=",
"\"\<Position specification `1` is invalid for `2`.\>\""}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"Locate", "[",
RowBox[{"expr_", ",",
RowBox[{"index", ":",
RowBox[{"{",
RowBox[{"___", "?", "IntegerQ"}], "}"}], ":",
RowBox[{"{", "}"}]}], ",",
RowBox[{"test_:", "ListQ"}]}], "]"}], ":=",
RowBox[{"Module", "[",
RowBox[{
RowBox[{"{",
RowBox[{
RowBox[{"nodes", "=",
RowBox[{"{", "expr", "}"}]}], ",",
RowBox[{"pos", "=",
RowBox[{"{", "}"}]}], ",", "flag"}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{"Do", "[", "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"If", "[",
RowBox[{
RowBox[{
RowBox[{"test", "@",
RowBox[{"nodes", "\[LeftDoubleBracket]",
RowBox[{"-", "1"}], "\[RightDoubleBracket]"}]}], "&&",
RowBox[{
RowBox[{
"index", "\[LeftDoubleBracket]", "i", "\[RightDoubleBracket]"}],
"\[LessEqual]",
RowBox[{"Length", "@",
RowBox[{"nodes", "\[LeftDoubleBracket]",
RowBox[{"-", "1"}], "\[RightDoubleBracket]"}]}]}]}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{"AppendTo", "[",
RowBox[{"nodes", ",",
RowBox[{"nodes", "\[LeftDoubleBracket]",
RowBox[{
RowBox[{"-", "1"}], ",",
RowBox[{
"index", "\[LeftDoubleBracket]", "i",
"\[RightDoubleBracket]"}]}], "\[RightDoubleBracket]"}]}],
"]"}], ";",
RowBox[{"AppendTo", "[",
RowBox[{"pos", ",",
RowBox[{
"index", "\[LeftDoubleBracket]", "i",
"\[RightDoubleBracket]"}]}], "]"}]}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{"Message", "[",
RowBox[{
RowBox[{"Locate", "::", "posd"}], ",",
RowBox[{"Append", "[",
RowBox[{"pos", ",",
RowBox[{
"index", "\[LeftDoubleBracket]", "i",
"\[RightDoubleBracket]"}]}], "]"}], ",", "expr"}], "]"}],
";",
RowBox[{"nodes", "=", "$Failed"}], ";",
RowBox[{"Break", "[", "]"}]}]}], "]"}], ";"}],
"\[IndentingNewLine]", ",",
RowBox[{"{",
RowBox[{"i", ",",
RowBox[{"Length", "@", "index"}]}], "}"}]}], "]"}], ";",
"\[IndentingNewLine]", "nodes"}]}], "\[IndentingNewLine]", "]"}]}],
";"}], "\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{"(*", "Traversal", "*)"}]}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"Traverse", "[",
RowBox[{"f_", ",", "expr_", ",",
RowBox[{"start", ":",
RowBox[{"{",
RowBox[{"___", "?", "IntegerQ"}], "}"}], ":",
RowBox[{"{", "}"}]}], ",",
RowBox[{"step", ":",
RowBox[{"(",
RowBox[{"_Integer", "|", "Infinity"}], ")"}], ":", "Infinity"}], ",",
RowBox[{"level", ":",
RowBox[{"(",
RowBox[{"_Integer", "|", "All"}], ")"}], ":", "All"}], ",",
RowBox[{"test_:", "ListQ"}]}], "]"}], ":=",
RowBox[{"Module", "[",
RowBox[{
RowBox[{"{",
RowBox[{"nodes", ",", "pos", ",",
RowBox[{"cnt", "=", "step"}], ",", "depth"}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{"nodes", "=",
RowBox[{"Locate", "[",
RowBox[{"expr", ",", "start", ",", "test"}], "]"}]}], ";",
"\[IndentingNewLine]",
RowBox[{"If", "[",
RowBox[{
RowBox[{"nodes", "===", "$Failed"}], ",",
RowBox[{"Return", "[", "nodes", "]"}]}], "]"}], ";",
"\[IndentingNewLine]",
RowBox[{"pos", "=", "start"}], ";", "\[IndentingNewLine]",
RowBox[{"depth", "=",
RowBox[{"Switch", "[",
RowBox[{"level", ",", "All", ",", "0", ",", "_Integer", ",",
RowBox[{
RowBox[{"Length", "@", "pos"}], "-", "level"}]}], "]"}]}], ";",
"\[IndentingNewLine]",
RowBox[{"While", "[",
RowBox[{
RowBox[{"cnt", ">", "0"}], ",", "\[IndentingNewLine]",
RowBox[{
RowBox[{"If", "[",
RowBox[{
RowBox[{
RowBox[{"test", "@",
RowBox[{"nodes", "\[LeftDoubleBracket]",
RowBox[{"-", "1"}], "\[RightDoubleBracket]"}]}], "&&",
RowBox[{"0", "<",
RowBox[{"Length", "@",
RowBox[{"nodes", "\[LeftDoubleBracket]",
RowBox[{"-", "1"}], "\[RightDoubleBracket]"}]}]}]}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{"AppendTo", "[",
RowBox[{"nodes", ",",
RowBox[{"nodes", "\[LeftDoubleBracket]",
RowBox[{
RowBox[{"-", "1"}], ",", "1"}], "\[RightDoubleBracket]"}]}],
"]"}], ";",
RowBox[{"AppendTo", "[",
RowBox[{"pos", ",", "1"}], "]"}], ";",
RowBox[{"Continue", "[", "]"}]}]}], "]"}], ";",
"\[IndentingNewLine]",
RowBox[{"f", "[",
RowBox[{
RowBox[{"nodes", "\[LeftDoubleBracket]",
RowBox[{"-", "1"}], "\[RightDoubleBracket]"}], ",", "pos"}],
"]"}], ";", "\[IndentingNewLine]",
RowBox[{"While", "[",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"Length", "@", "pos"}], ">", "depth"}], "&&",
RowBox[{
RowBox[{"pos", "\[LeftDoubleBracket]",
RowBox[{"-", "1"}], "\[RightDoubleBracket]"}], "\[Equal]",
RowBox[{"Length", "@",
RowBox[{"nodes", "\[LeftDoubleBracket]",
RowBox[{"-", "2"}], "\[RightDoubleBracket]"}]}]}]}], ",",
RowBox[{
RowBox[{"nodes", "=",
RowBox[{"Most", "@", "nodes"}]}], ";",
RowBox[{"pos", "=",
RowBox[{"Most", "@", "pos"}]}]}]}], "]"}], ";",
"\[IndentingNewLine]",
RowBox[{"If", "[",
RowBox[{
RowBox[{
RowBox[{"Length", "@", "pos"}], "\[Equal]", "depth"}], ",",
RowBox[{"Break", "[", "]"}], ",",
RowBox[{
RowBox[{
RowBox[{"nodes", "\[LeftDoubleBracket]",
RowBox[{"-", "1"}], "\[RightDoubleBracket]"}], "=",
RowBox[{"nodes", "\[LeftDoubleBracket]",
RowBox[{
RowBox[{"-", "2"}], ",",
RowBox[{
RowBox[{"pos", "\[LeftDoubleBracket]",
RowBox[{"-", "1"}], "\[RightDoubleBracket]"}], "+=",
"1"}]}], "\[RightDoubleBracket]"}]}], ";",
RowBox[{"--", "cnt"}]}]}], "]"}], ";"}]}], "\[IndentingNewLine]",
"]"}], ";", "pos"}]}], "\[IndentingNewLine]", "]"}]}], ";"}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"FindNotebook", "[", "Null", "]"}], ":=",
RowBox[{"EvaluationNotebook", "[", "]"}]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"FindNotebook", "[", "name_String", "]"}], ":=",
RowBox[{"First", "@",
RowBox[{"Notebooks", "@", "name"}]}]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"FindNotebook", "[",
RowBox[{"nb", ":",
RowBox[{"(",
RowBox[{"_Notebook", "|", "_NotebookObject"}], ")"}]}], "]"}], ":=",
"nb"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"CellGroups", "[",
RowBox[{"notebook_:", "Null"}], "]"}], ":=",
RowBox[{"Module", "[",
RowBox[{
RowBox[{"{",
RowBox[{
RowBox[{"nb", "=",
RowBox[{"FindNotebook", "@", "notebook"}]}], ",",
RowBox[{"i", "=", "0"}], ",", "cells"}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{"NotebookSave", "[", "nb", "]"}], ";", "\[IndentingNewLine]",
RowBox[{"cells", "=",
RowBox[{"Cells", "[", "nb", "]"}]}], ";", "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"#", "/.",
RowBox[{"_Cell", "\[RuleDelayed]",
RowBox[{"cells", "\[LeftDoubleBracket]",
RowBox[{"++", "i"}], "\[RightDoubleBracket]"}]}]}], "&"}], "@",
RowBox[{"Block", "[",
RowBox[{
RowBox[{"{", "Cell", "}"}], ",", "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"Cell", "[",
RowBox[{
RowBox[{"CellGroupData", "[",
RowBox[{"c_List", ",", "___"}], "]"}], ",", "___"}], "]"}], ":=",
RowBox[{
RowBox[{"c", "\[LeftDoubleBracket]",
RowBox[{"1", ",",
RowBox[{"-", "1"}]}], "\[RightDoubleBracket]"}], "@@", "c"}]}],
";", "\[IndentingNewLine]",
RowBox[{"First", "@",
RowBox[{
"AuthorTools`Common`NotebookFileOutline", "@", "nb"}]}]}]}],
"]"}]}]}]}], "\[IndentingNewLine]", "]"}]}], ";"}],
"\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{"(*", "Developer`CellInformation", "*)"}]}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"CellStyleName", "=", "Experimental`CellStyleNames"}], ";"}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"CellText", "[", "cell_Cell", "]"}], ":=", "\[IndentingNewLine]",
RowBox[{"First", "@",
RowBox[{"FrontEndExecute", "[",
RowBox[{"FrontEnd`ExportPacket", "[",
RowBox[{"cell", ",", "\"\<InputText\>\""}], "]"}], "]"}]}]}], ";"}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"Sections", "[",
RowBox[{"nb_:", "Null"}], "]"}], ":=",
RowBox[{"Each", "[",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"Transpose", "@",
RowBox[{"{",
RowBox[{
RowBox[{"CellText", "/@",
RowBox[{"AuthorTools`Common`NotebookLookup", "[",
RowBox[{"#", ",", "\"\<CellExpression\>\"", ",",
RowBox[{"Cell", "[",
RowBox[{"___", ",", "SectionPattern", ",", "___"}], "]"}]}],
"]"}]}], ",",
RowBox[{"Cells", "[",
RowBox[{"#", ",",
RowBox[{"CellStyle", "\[Rule]", "SectionPattern"}]}], "]"}]}],
"}"}]}], "&"}], "@",
RowBox[{"FindNotebook", "@", "nb"}]}], ",", "Rule"}], "]"}]}], ";"}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"SectionGroups", "[",
RowBox[{"cell_CellObject", ",",
RowBox[{"nb_:", "Null"}]}], "]"}], ":=",
RowBox[{"Cases", "[",
RowBox[{
RowBox[{"CellGroups", "[", "nb", "]"}], ",",
RowBox[{"_String", "[",
RowBox[{"cell", ",", "___"}], "]"}]}], "]"}]}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"SectionGroups", "[",
RowBox[{"name_String", ",",
RowBox[{"nb_:", "Null"}]}], "]"}], ":=",
RowBox[{"SectionGroups", "[",
RowBox[{
RowBox[{"name", "/.",
RowBox[{"Sections", "[", "nb", "]"}]}], ",", "nb"}], "]"}]}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"SectionGroups", "[",
RowBox[{
RowBox[{"names", ":",
RowBox[{"{",
RowBox[{"_String", ".."}], "}"}]}], ",",
RowBox[{"nb_:", "Null"}]}], "]"}], ":=",
RowBox[{
RowBox[{
RowBox[{"SectionGroups", "[",
RowBox[{"#", ",", "nb"}], "]"}], "&"}], "/@", "names"}]}], ";"}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"PrintNotebook", "[",
RowBox[{"nb_:", "Null"}], "]"}], "[", "vals__", "]"}], ":=",
RowBox[{"NotebookWrite", "[",
RowBox[{
RowBox[{"FindNotebook", "@", "nb"}], ",",
RowBox[{"Cell", "[",
RowBox[{
RowBox[{"BoxData", "@",
RowBox[{"RowBox", "[",
RowBox[{"ToBoxes", "/@",
RowBox[{"{", "vals", "}"}]}], "]"}]}], ",", "\"\<Print\>\""}],
"]"}]}], "]"}]}], ";"}]}], "Input",
InitializationCell->True,
CellChangeTimes->{{3.630601870688705*^9, 3.630601871545754*^9}, {
3.6306019089124775`*^9, 3.630601911630633*^9}, {3.630602035613278*^9,
3.6306020403685503`*^9}, {3.6306020985176563`*^9,
3.6306021007087812`*^9}, {3.630628578567499*^9, 3.630628579215536*^9}, {
3.630651416631234*^9, 3.6306514169092503`*^9}, {3.630651514421828*^9,
3.6306515172849913`*^9}, {3.6306516748440037`*^9, 3.6306516764200935`*^9},
3.630652453759555*^9, {3.6306528454609585`*^9, 3.630652865740119*^9}, {
3.6306530747220716`*^9, 3.6306530752341013`*^9}, 3.630654062947595*^9, {
3.6306543880571904`*^9, 3.630654389368265*^9}, 3.630654787343028*^9, {
3.630654858989126*^9, 3.6306549063778367`*^9}, {3.630655010690803*^9,
3.6306550976987796`*^9}, {3.6306551311616936`*^9, 3.630655154107006*^9}, {
3.6306551858038187`*^9, 3.6306552156255245`*^9}, {3.6306553122090487`*^9,
3.6306553590007253`*^9}, {3.6306554440805917`*^9, 3.63065546363871*^9}, {
3.630655507312208*^9, 3.6306555511597157`*^9}, {3.6306556036957207`*^9,
3.6306556531515493`*^9}, {3.630655688143551*^9, 3.6306556910707183`*^9}, {
3.6306557233665657`*^9, 3.6306557236785836`*^9}, {3.6306558632941685`*^9,
3.630655879812113*^9}, {3.630659997078607*^9, 3.630660002919941*^9}, {
3.6306601350164967`*^9, 3.6306601774079213`*^9}, {3.6306602393834662`*^9,
3.630660246382867*^9}, {3.630660777314234*^9, 3.6306607875858216`*^9}, {
3.6306608176355405`*^9, 3.6306609228345575`*^9}, {3.6306609584855967`*^9,
3.630661014401795*^9}, {3.6306610973555393`*^9, 3.6306611690726414`*^9}, {
3.63066121084103*^9, 3.6306612230007257`*^9}, {3.6306612729575834`*^9,
3.6306614544799657`*^9}, {3.630661494925279*^9, 3.6306616343252525`*^9}, {
3.6306616768296833`*^9, 3.6306617260695*^9}, {3.630661802159852*^9,
3.6306619254529037`*^9}, {3.6306620888672504`*^9,
3.6306621447374463`*^9}, {3.6306621858087955`*^9,
3.6306621921281567`*^9}, {3.630662231264395*^9, 3.630662231407404*^9}, {
3.6306623013444033`*^9, 3.63066233064808*^9}, {3.630662389848466*^9,
3.630662413836838*^9}, {3.6306625456883793`*^9, 3.630662595334219*^9}, {
3.630662651023404*^9, 3.630662753541268*^9}, {3.630662793354545*^9,
3.630662859588333*^9}, {3.6306629690275927`*^9, 3.630662969658629*^9}, {
3.6306630162042913`*^9, 3.630663039346615*^9}, {3.630663203336995*^9,
3.6306632153836837`*^9}, {3.6306632578661137`*^9,
3.6306633232478533`*^9}, {3.630663969429813*^9, 3.630663997567422*^9}, {
3.6408730184593573`*^9, 3.6408730268054333`*^9}, {3.6408731163615427`*^9,
3.640873126620927*^9}, {3.6408731811716337`*^9, 3.640873187105973*^9},
3.6408732400659933`*^9, 3.6408732771740985`*^9, {3.6408734445584264`*^9,
3.6408734540849714`*^9}, {3.6408975666192083`*^9, 3.640897571779503*^9}, {
3.6408976512430487`*^9, 3.6408976519860907`*^9}, {3.640898597988199*^9,
3.640898608740814*^9}, {3.6408986810609503`*^9, 3.640898756004237*^9}, {
3.6408987961475334`*^9, 3.6408988078512025`*^9}, {3.6409010237179427`*^9,
3.640901025035018*^9}, {3.6409013333956556`*^9, 3.64090139134797*^9}, {
3.6409017306263757`*^9, 3.640901731505426*^9}, {3.6409017957310996`*^9,
3.640901797890223*^9}, {3.640929047367804*^9, 3.6409290481078463`*^9}, {
3.6435163408697653`*^9, 3.6435163517470503`*^9}, {3.643516419484448*^9,
3.643516487806085*^9}, {3.643516543782885*^9, 3.643516627482191*^9}, {
3.6435167307682457`*^9, 3.6435167319021397`*^9}, {3.643516763413445*^9,
3.643516781180149*^9}, {3.643524655930521*^9, 3.6435247227343416`*^9}, {
3.643524813109511*^9, 3.6435248135575366`*^9}, {3.6435248653554993`*^9,
3.6435250402265015`*^9}, {3.643525108602412*^9, 3.6435251129316597`*^9}, {
3.643525152027896*^9, 3.643525273761859*^9}, {3.6435253411697145`*^9,
3.6435254587514396`*^9}, {3.643525649934375*^9, 3.643525705236538*^9}, {
3.643525746269885*^9, 3.6435257515101843`*^9}, {3.6435258217412014`*^9,
3.6435258466686273`*^9}, {3.643525922668974*^9, 3.6435259292513504`*^9}, {
3.6435260234917407`*^9, 3.643526024492798*^9}, {3.6435262071782475`*^9,
3.643526223124159*^9}, {3.6435262599022627`*^9, 3.6435262716329336`*^9},
3.6435265739512253`*^9, {3.6435272447375917`*^9, 3.643527248073783*^9}, {
3.6435277004396567`*^9, 3.643527716070551*^9}, {3.6435278235206966`*^9,
3.6435278537984285`*^9}, {3.6435279448706374`*^9, 3.643527945174655*^9}, {
3.6435279783025494`*^9, 3.643528001316866*^9}, {3.643528340444263*^9,
3.6435283915941887`*^9}, {3.6435284390749044`*^9,
3.6435284734408703`*^9}, {3.6435285325782523`*^9,
3.6435285362644634`*^9}, {3.643529384290968*^9, 3.643529446159506*^9}, {
3.64352973662312*^9, 3.6435297458126454`*^9}, {3.6435297821817255`*^9,
3.643529791120237*^9}, {3.643530173975135*^9, 3.643530179799468*^9}, {
3.6435320864535227`*^9, 3.6435322588803844`*^9}, {3.643532304696005*^9,
3.643532364119404*^9}, {3.643532418456512*^9, 3.643532460639925*^9}, {
3.6435325927424803`*^9, 3.6435326044231486`*^9}, {3.643532673206083*^9,
3.64353286915629*^9}, {3.643532913361819*^9, 3.643532931754871*^9}, {
3.6435329860689774`*^9, 3.643533025204216*^9}, {3.6435330553449397`*^9,
3.6435332254726706`*^9}, {3.6435332761135674`*^9, 3.643533323183259*^9}, {
3.6435334272882137`*^9, 3.6435334524736547`*^9}, {3.6435334975502324`*^9,
3.643533520606551*^9}, {3.643533553669442*^9, 3.6435335901285276`*^9}, {
3.6435336275176663`*^9, 3.6435337145096416`*^9}, {3.643533919837386*^9,
3.6435339236446037`*^9}, {3.6435342438819203`*^9,
3.6435343790676527`*^9}, {3.6435344929211645`*^9,
3.6435345339215097`*^9}, {3.643534635073295*^9, 3.643534697910889*^9}, {
3.6435347789675255`*^9, 3.643534787927038*^9}, {3.6435356494903164`*^9,
3.6435356750887804`*^9}, {3.643536577177377*^9, 3.6435366298263884`*^9}, {
3.6435366641223497`*^9, 3.643536668367593*^9}, {3.6435367261438975`*^9,
3.643536745400999*^9}, 3.6435367885054646`*^9, {3.643536899061788*^9,
3.6435369021249633`*^9}, {3.643536948319605*^9, 3.643536948662625*^9}, {
3.6435382622047553`*^9, 3.6435382819488845`*^9}, {3.643538374285166*^9,
3.6435384385728426`*^9}, {3.6435384741958804`*^9, 3.643538669969078*^9}, {
3.643538709276326*^9, 3.643538717276784*^9}, {3.6435387700178003`*^9,
3.6435387867797594`*^9}, {3.6435388206996994`*^9, 3.643538942073642*^9}, {
3.6435390085474434`*^9, 3.6435391534067287`*^9}, {3.643539194815098*^9,
3.643539224814813*^9}, {3.6435392896155195`*^9, 3.643539322301389*^9}, {
3.643539362653697*^9, 3.6435393806937294`*^9}, {3.643539422333111*^9,
3.643539458414174*^9}, {3.6435395242439394`*^9, 3.6435395271401052`*^9}, {
3.643539717756008*^9, 3.6435397284506197`*^9}, {3.643539845700326*^9,
3.6435398490495176`*^9}, {3.643539975738764*^9, 3.6435399768398266`*^9}, {
3.6435400806337633`*^9, 3.6435400893682632`*^9}, {3.643540122552161*^9,
3.6435401489596715`*^9}, {3.6435401870148478`*^9,
3.6435401973354387`*^9}, {3.6435402476553164`*^9,
3.6435403002153225`*^9}, {3.6435403451958957`*^9,
3.6435403658070745`*^9}, {3.6435404386072383`*^9, 3.6435404402853346`*^9},
3.643540569605731*^9, 3.6435406218127174`*^9, 3.643540654188569*^9, {
3.643540740441502*^9, 3.6435408218191566`*^9}, {3.6435409214558554`*^9,
3.6435409232389574`*^9}, {3.643541070298369*^9, 3.643541074323599*^9}, {
3.6435411361531353`*^9, 3.6435411396583357`*^9}, {3.643541697717255*^9,
3.643541722188655*^9}, {3.643542202846147*^9, 3.6435422105185857`*^9}, {
3.64354411663861*^9, 3.643544226069869*^9}, {3.643544284957237*^9,
3.643544396747631*^9}, {3.6435444273233795`*^9, 3.64354444008311*^9},
3.6435444932351494`*^9, {3.6435450462043304`*^9, 3.6435450658714557`*^9}, {
3.6435457921700315`*^9, 3.643545821576083*^9}, {3.643545855802543*^9,
3.6435458561613436`*^9}, {3.643546147304655*^9, 3.6435461759463053`*^9}, {
3.6435463380773907`*^9, 3.64354634923141*^9}, {3.643546411459919*^9,
3.643546423674741*^9}, {3.6435466811531925`*^9, 3.6435466879080048`*^9}, {
3.643546843424678*^9, 3.6435468483074865`*^9}, {3.6435469438888545`*^9,
3.6435469639504895`*^9}, {3.6435470106257715`*^9,
3.6435470151809797`*^9}, {3.6435470523558445`*^9, 3.643547228386554*^9}, {
3.6435472587442074`*^9, 3.643547270444228*^9}, {3.6435473164175086`*^9,
3.64354731729111*^9}, {3.6435474756157885`*^9, 3.643547540527502*^9}, {
3.64354757898157*^9, 3.6435476791649456`*^9}, {3.643547777164318*^9,
3.6435477958687506`*^9}, {3.6435478261172037`*^9,
3.6435479327745914`*^9}, {3.643548156276184*^9, 3.6435482299551134`*^9}, {
3.643548423348653*^9, 3.643548497526783*^9}, {3.6435490713737907`*^9,
3.6435491621035504`*^9}, {3.643549203396823*^9, 3.6435492815841603`*^9}, {
3.6435493396162624`*^9, 3.643549374373123*^9}, {3.6435494376000347`*^9,
3.6435494377872343`*^9}, {3.6435495820250883`*^9,
3.6435497452581744`*^9}, {3.6435497917930565`*^9,
3.6435498655811863`*^9}, {3.643549902756051*^9, 3.6435499058448563`*^9}, {
3.64354997588898*^9, 3.643549978962185*^9}, {3.6435500367914867`*^9,
3.6435500657139373`*^9}, {3.643550322209588*^9, 3.6435503312420034`*^9}, {
3.6435503636900606`*^9, 3.643550386700101*^9}, {3.6435504188673573`*^9,
3.643550672118202*^9}, {3.643550723847893*^9, 3.643550850535716*^9}, {
3.643550882968173*^9, 3.6435509796259427`*^9}, {3.643551028064028*^9,
3.643551073054507*^9}, {3.6435513548222017`*^9, 3.6435513598142104`*^9}, {
3.6435514066298923`*^9, 3.643551457579582*^9}, {3.6435515044576645`*^9,
3.6435516610819397`*^9}, {3.6435516968684025`*^9,
3.6435517071800203`*^9}, {3.643551740486079*^9, 3.6435517965837774`*^9}, {
3.643551844959462*^9, 3.6435519327096167`*^9}, {3.643552108303525*^9,
3.6435521492847967`*^9}, {3.6435522351317477`*^9,
3.6435522356465487`*^9}, {3.643552465860553*^9, 3.643552506888625*^9}, {
3.6435529243765583`*^9, 3.643553010005109*^9}, {3.643554157683524*^9,
3.643554311936595*^9}, {3.6435544912913103`*^9, 3.643554494348916*^9}, {
3.643554605998312*^9, 3.6435546068563137`*^9}, {3.6435546499123893`*^9,
3.6435546609416084`*^9}, {3.643588752738491*^9, 3.6435889044761696`*^9}, {
3.6435965684217625`*^9, 3.6435966517731113`*^9}, 3.643596688519403*^9, {
3.6435971610907035`*^9, 3.643597165418348*^9}, {3.6435973516471634`*^9,
3.6435973588141723`*^9}, {3.643597598896632*^9, 3.643597649863138*^9}, {
3.643597751752737*^9, 3.6435978117753553`*^9}, {3.643597857266548*^9,
3.6435978797910304`*^9}, {3.6435987776910377`*^9,
3.6435987798501616`*^9}, {3.643599078398978*^9, 3.6435990958657703`*^9}, {
3.6435994153957787`*^9, 3.643599418731767*^9}, {3.643599505162698*^9,
3.6435996476674175`*^9}, {3.643599684914742*^9, 3.6435999084672785`*^9}, {
3.6435999637042303`*^9, 3.6436000199836435`*^9}, {3.643600055142051*^9,
3.6436001302825384`*^9}, {3.643600384094784*^9, 3.643600393220306*^9}, {
3.6436043906719675`*^9, 3.64360441219359*^9}, {3.643609639256645*^9,
3.6436098231272697`*^9}, {3.643609921091834*^9, 3.643609926559944*^9}, {
3.6436101538972397`*^9, 3.643610201017314*^9}, {3.643610241310998*^9,
3.6436102528458476`*^9}, {3.6436102860223227`*^9,
3.6436102922404757`*^9}, {3.643610327630681*^9, 3.643610352622097*^9}, {
3.6436106784765882`*^9, 3.643610694781913*^9}, {3.643610805641611*^9,
3.6436108134974527`*^9}, {3.643610847600589*^9, 3.6436109442584705`*^9}, {
3.643611038730214*^9, 3.6436111001272993`*^9}, {3.643611222942858*^9,
3.6436112822656307`*^9}, {3.6436113665270147`*^9,
3.6436113677370834`*^9}, {3.6436117898802543`*^9,
3.6436117991255803`*^9}, {3.6436120224510775`*^9,
3.6436120721471143`*^9}, {3.6436121038675103`*^9, 3.643612131059863*^9}, {
3.643612329170698*^9, 3.643612330631782*^9}, {3.6436128358352504`*^9,
3.6436128364972887`*^9}, {3.643612912388198*^9, 3.6436129162654195`*^9}, {
3.6436129595132723`*^9, 3.6436129629126654`*^9}, {3.643612994897482*^9,
3.643613107425258*^9}, {3.6436131412713795`*^9, 3.6436131499844723`*^9}, {
3.643613213644088*^9, 3.6436132242660875`*^9}, {3.6436132943442464`*^9,
3.6436133527665663`*^9}, {3.6436134736428204`*^9, 3.643613537786058*^9}, {
3.6436136548674917`*^9, 3.6436136746730165`*^9}, {3.6436137531328793`*^9,
3.6436138180833654`*^9}, {3.6436144923138294`*^9,
3.6436145148095083`*^9}, {3.643614926883693*^9, 3.643614927406723*^9}, {
3.6436152594003925`*^9, 3.643615400652403*^9}, {3.6436167610556273`*^9,
3.6436168710938997`*^9}, {3.643616983722695*^9, 3.643617069929983*^9}, {
3.6436171003309116`*^9, 3.6436172086734486`*^9}, {3.643617260819604*^9,
3.6436172935622654`*^9}, {3.6436173338433495`*^9,
3.6436173765687714`*^9}, {3.6436174067706885`*^9,
3.6436174115679626`*^9}, {3.6436175282573957`*^9,
3.6436175847425876`*^9}, {3.6436177879905186`*^9,
3.6436177884845467`*^9}, {3.6436178234201355`*^9,
3.6436180360205965`*^9}, {3.6436180726406784`*^9, 3.6436180735147285`*^9},
3.6436193900141554`*^9, {3.6436197204103675`*^9, 3.6436197206233797`*^9}, {
3.6436230119565287`*^9, 3.643623111623195*^9}, {3.643628318194079*^9,
3.643628325652506*^9}, {3.6436286293288746`*^9, 3.6436286404625115`*^9}, {
3.643891577406291*^9, 3.6438916124482956`*^9}, {3.644284947015566*^9,
3.644284993549227*^9}, 3.6442850249240217`*^9, {3.6442851493561387`*^9,
3.644285216174961*^9}, {3.644285289506155*^9, 3.644285290251198*^9}, {
3.644285411940158*^9, 3.644285449554309*^9}, {3.644285494743894*^9,
3.6442854959989653`*^9}, {3.6442856451854987`*^9, 3.644285649294734*^9}, {
3.6442857264231453`*^9, 3.6442857471993337`*^9}, {3.644286049878646*^9,
3.6442860758331304`*^9}, {3.6442861246619234`*^9, 3.644286141371879*^9}, {
3.6442861999242277`*^9, 3.64428622304255*^9}, 3.6442864173496637`*^9, {
3.64428658495625*^9, 3.64428659386276*^9}, {3.6442868472452526`*^9,
3.644286849204365*^9}, {3.644286883249312*^9, 3.6442869006123047`*^9}, {
3.644286955455442*^9, 3.6442871924579973`*^9}, {3.64428723865164*^9,
3.644287239341679*^9}, {3.644287311366799*^9, 3.644287392826458*^9}, {
3.6442875904397607`*^9, 3.6442876036155148`*^9}, {3.6442877136868105`*^9,
3.6442877190771184`*^9}, {3.644287789161127*^9, 3.644287803917971*^9}, {
3.6442879194595795`*^9, 3.6442879247278814`*^9}, {3.644288002708341*^9,
3.644288039779462*^9}, {3.644288089248291*^9, 3.6442880969117293`*^9}, {
3.644288468930008*^9, 3.6442885824905033`*^9}, {3.644288697733094*^9,
3.6442887226065173`*^9}, {3.6442888381781273`*^9, 3.644288848331708*^9}, {
3.644289002629534*^9, 3.6442890036405916`*^9}, {3.6442890500702467`*^9,
3.644289110035677*^9}, {3.644289210388417*^9, 3.644289210760438*^9}, {
3.644289258944194*^9, 3.6442893006415787`*^9}, {3.644289376456915*^9,
3.6442896847155466`*^9}, {3.644290033433492*^9, 3.644290083641364*^9},
3.6442904961589584`*^9, {3.644290529557869*^9, 3.644290529840885*^9}, {
3.6442905702911987`*^9, 3.6442905728713465`*^9}, {3.644290849366161*^9,
3.6442909025692043`*^9}, {3.6442909518440223`*^9, 3.644290957485345*^9}, {
3.644291181556161*^9, 3.644291263101825*^9}, {3.644292568179471*^9,
3.6442925940609517`*^9}, {3.650040851501808*^9, 3.6500408526874104`*^9}, {
3.656628454095497*^9, 3.6566284937507067`*^9}, {3.65662854312901*^9,
3.656628547136456*^9}, {3.656628584623403*^9, 3.6566286140351763`*^9}, {
3.6566286830154457`*^9, 3.6566286872769203`*^9}, {3.656628743232276*^9,
3.656628770496216*^9}, {3.656628802859623*^9, 3.656628836719639*^9}, {
3.6566288976986303`*^9, 3.656629036278651*^9}, {3.656629068129407*^9,
3.656629149278651*^9}, {3.656629225777288*^9, 3.6566294067222233`*^9}, {
3.656629872243662*^9, 3.656630178223693*^9}, {3.6566302860503063`*^9,
3.656630290175226*^9}, {3.6566303343714848`*^9, 3.656630341576146*^9}, {
3.656630387382153*^9, 3.656630395770082*^9}, 3.656630514995036*^9,
3.656631279792831*^9, {3.656631310246704*^9, 3.65663132128017*^9}, {
3.6566313792187843`*^9, 3.656631392150455*^9}, {3.656631536749567*^9,
3.65663155948779*^9}, {3.65668784149125*^9, 3.656688011805695*^9}, {
3.656688100245016*^9, 3.656688101417665*^9}, {3.656688219168783*^9,
3.656688226709354*^9}, {3.656688316728181*^9, 3.656688323765388*^9}, {
3.656688402457789*^9, 3.6566884083885317`*^9}, {3.656688598312915*^9,
3.656688639471262*^9}, {3.656688701707299*^9, 3.656688819711973*^9}, {
3.656688862045911*^9, 3.65668887243513*^9}, {3.656688921224145*^9,
3.656688934548099*^9}, {3.6566889676425867`*^9, 3.656688986918283*^9}, {
3.656689168808424*^9, 3.656689278714764*^9}, {3.656689365653844*^9,
3.656689403205125*^9}, {3.656689449179215*^9, 3.6566894579883966`*^9}, {
3.656689575361292*^9, 3.6566895802835073`*^9}, {3.656689658586931*^9,
3.6566896594975443`*^9}, {3.656845678815115*^9, 3.6568456925600653`*^9}, {
3.6568457417965574`*^9, 3.6568457426664047`*^9}, {3.656845838284235*^9,
3.656845944980074*^9}, {3.65684610437381*^9, 3.6568461979213276`*^9}, {
3.6568462909756145`*^9, 3.656846484599804*^9}, {3.6568465860793533`*^9,
3.656846621817108*^9}, {3.656846690759077*^9, 3.6568467481992197`*^9}, {
3.6568468061003885`*^9, 3.656847030650467*^9}, {3.656847085539274*^9,
3.6568471185980873`*^9}, {3.6568471955606956`*^9, 3.656847247090716*^9}, {
3.6568473075370264`*^9, 3.6568473426409435`*^9}, {3.6568474195767527`*^9,
3.6568474454171658`*^9}, {3.6568474937442093`*^9,
3.6568474942722397`*^9}, {3.656847568377696*^9, 3.656847568935728*^9}, {
3.656847601822126*^9, 3.6568476134123573`*^9}, {3.656847668620575*^9,
3.6568476742618847`*^9}, {3.6568477450283546`*^9,
3.6568478541657305`*^9}, {3.656848021742094*^9, 3.6568480228949575`*^9}, {
3.656848080216891*^9, 3.6568481684693174`*^9}, {3.6568482784281344`*^9,
3.6568483013861885`*^9}, {3.656849035658758*^9, 3.656849051444622*^9}, {
3.656849104091301*^9, 3.6568491050369544`*^9}, 3.656849162129285*^9, {
3.6568491964963627`*^9, 3.6568492090646505`*^9}, {3.656849324215951*^9,
3.656849325094799*^9}, {3.6568496090535297`*^9, 3.656849636072609*^9}, {
3.6568614935159893`*^9, 3.656861508273596*^9}, {3.656861544684786*^9,
3.6568615782370195`*^9}, {3.656893390176078*^9, 3.656893413751766*^9}, {
3.6568935036422863`*^9, 3.6568935212428493`*^9}, 3.65689357664028*^9, {
3.65689571654393*^9, 3.656895805331986*^9}, {3.656896185597599*^9,
3.656896224450123*^9}, {3.656896257263517*^9, 3.656896277014599*^9}, {
3.6568964541548843`*^9, 3.6568964662173457`*^9}, {3.656896660531773*^9,
3.65689669337897*^9}, 3.656896802866361*^9, 3.6569311854587193`*^9, {
3.6569315124861*^9, 3.656931659793901*^9}, {3.656931699798189*^9,
3.6569317688591394`*^9}, {3.656931836416003*^9, 3.656931976122149*^9}, {
3.656932015257573*^9, 3.656932042368313*^9}, {3.6569320723990173`*^9,
3.6569320887651477`*^9}, {3.656932149073571*^9, 3.6569321871019316`*^9}, {
3.656932224503256*^9, 3.656932226752182*^9}, {3.656932319908471*^9,
3.656932388336747*^9}, {3.6569324290122547`*^9, 3.6569324408793297`*^9}, {
3.6569325617995996`*^9, 3.6569325757845974`*^9}, {3.656986762474286*^9,
3.6569867934850597`*^9}, {3.656988418702017*^9, 3.6569884491687593`*^9}, {
3.6569885303114004`*^9, 3.656988535265684*^9}, {3.656988577904123*^9,
3.656988595654138*^9}, {3.656988708269579*^9, 3.6569888193189306`*^9}, {
3.6569893746276927`*^9, 3.656989414967*^9}, {3.656989556893118*^9,
3.656989570093873*^9}, {3.65698979803091*^9, 3.656989801683119*^9}, {
3.657076891017996*^9, 3.6570769060388546`*^9}, {3.6570769428069577`*^9,
3.657076943112975*^9}, {3.6570769814551687`*^9, 3.657076998120122*^9}, {
3.6570771283195686`*^9, 3.657077148919747*^9}, {3.6570780148852773`*^9,
3.6570780189615107`*^9}, {3.6570780659781995`*^9, 3.657078093368766*^9}, {
3.6570782110234957`*^9, 3.6570782259673505`*^9}, {3.657078266503669*^9,
3.657078267071701*^9}, {3.657078670511777*^9, 3.6570786707837925`*^9}, {
3.6570787423438854`*^9, 3.657078783808257*^9}, {3.657078820280343*^9,
3.657078956656143*^9}, 3.657078988096942*^9, {3.6570798049356623`*^9,
3.6570798621519346`*^9}, {3.6570798942557707`*^9, 3.657079901975212*^9}, {
3.6570799437836037`*^9, 3.657080017216804*^9}, 3.6570800606552887`*^9, {
3.6570801568157883`*^9, 3.6570801591359215`*^9}, {3.657080662511713*^9,
3.6570808822082787`*^9}, {3.6570809724014373`*^9, 3.657080989162396*^9}, {
3.6570810338639526`*^9, 3.6570811166246862`*^9}, 3.657081508084077*^9, {
3.6570821932532663`*^9, 3.6570822221499186`*^9}, {3.6570822791491795`*^9,
3.6570822799162226`*^9}, {3.65708231727736*^9, 3.657082320868565*^9}, {
3.6570823606288395`*^9, 3.657082383108125*^9}, {3.65708254107016*^9,
3.6570825536448793`*^9}, {3.6570826509244432`*^9, 3.657082655284693*^9}, {
3.6570827196453743`*^9, 3.657082729387931*^9}, {3.657082936708789*^9,
3.657083069189367*^9}, {3.6570881829178553`*^9, 3.6570882129405727`*^9}, {
3.657088271348913*^9, 3.6570883088930607`*^9}, {3.657088388996642*^9,
3.657088389316661*^9}, {3.6570884660150476`*^9, 3.657088598301614*^9}, {
3.657088987102852*^9, 3.6570889883659244`*^9}, {3.65710147781928*^9,
3.6571015310333242`*^9}, {3.657101568281454*^9, 3.6571016206334486`*^9}, {
3.6571016769056673`*^9, 3.657101687809291*^9}, {3.657101769801981*^9,
3.6571018671215467`*^9}, {3.6571019441299515`*^9,
3.6571020216823874`*^9}, {3.6571082042100077`*^9,
3.6571083472611895`*^9}, {3.657108386117412*^9, 3.6571083925887823`*^9}, {
3.657108510539529*^9, 3.6571085113385744`*^9}, {3.657122040890421*^9,
3.6571220779545403`*^9}, {3.6571243175066357`*^9,
3.6571243953940907`*^9}, {3.6571244553655205`*^9,
3.6571244677732306`*^9}, {3.6571245216393113`*^9, 3.657124524254461*^9}, {
3.6575420655371027`*^9, 3.6575420681718483`*^9}, {3.6575422857369375`*^9,
3.657542306238058*^9}, {3.6575423374077625`*^9, 3.657542345831624*^9}, {
3.6575425870942187`*^9, 3.65754258803407*^9}, {3.6578530487793245`*^9,
3.657853101306794*^9}, {3.6578551419916115`*^9, 3.657855143364087*^9}}]
}, Open ]],
Cell[CellGroupData[{
Cell["End", "Section",
ShowGroupOpener->True,
WholeCellGroupOpener->True,
CellChangeTimes->{{3.6046429928574605`*^9, 3.604642995613618*^9}}],
Cell[BoxData[{
RowBox[{
RowBox[{"End", "[", "]"}], ";"}], "\n",
RowBox[{
RowBox[{"EndPackage", "[", "]"}], ";"}]}], "Input",
InitializationCell->True,
CellChangeTimes->{{3.656848400672819*^9, 3.6568484020406947`*^9}, {
3.65684846534516*^9, 3.6568484791441126`*^9}, {3.656848520353168*^9,
3.656848685910619*^9}, {3.6568487588792057`*^9, 3.656848774222044*^9}, {
3.6568493626026506`*^9, 3.656849376680025*^9}, {3.6570890076440268`*^9,
3.6570890081970587`*^9}, {3.6570891145411415`*^9, 3.657089115364188*^9}}]
}, Closed]],
Cell[CellGroupData[{
Cell["Task", "Section",
CellChangeTimes->{{3.6570891167532673`*^9, 3.657089123523655*^9}}],
Cell[BoxData[{
RowBox[{
RowBox[{"Task", "=",
RowBox[{"$", "[", "Task", "]"}]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"Task", "[", "$data_List", "]"}], ":=",
RowBox[{"(", "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"$", ".", "data"}], "=", "$data"}], ";", "\[IndentingNewLine]",
RowBox[{
RowBox[{"$", ".", "pos"}], "=",
RowBox[{"{", "}"}]}], ";", "\[IndentingNewLine]",
RowBox[{
RowBox[{"$", ".", "stop"}], "=", "False"}], ";"}],
"\[IndentingNewLine]", ")"}]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"Task", ".",
RowBox[{"stop", "[", "]"}]}], ":=",
RowBox[{"(",
RowBox[{
RowBox[{
RowBox[{"$", ".", "stop"}], "=", "True"}], ";"}], ")"}]}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"Task", ".",
RowBox[{"continue", "[", "]"}]}], ":=",
RowBox[{"(",
RowBox[{
RowBox[{
RowBox[{"$", ".", "stop"}], "=", "False"}], ";"}], ")"}]}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"Task", ".",
RowBox[{"restart", "[", "]"}]}], ":=",
RowBox[{"(",
RowBox[{
RowBox[{
RowBox[{"$", ".", "pos"}], "=",
RowBox[{"{", "}"}]}], ";"}], ")"}]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"Task", ".", "print"}], "=",
RowBox[{
RowBox[{"Write", "[",
RowBox[{"$Output", ",", "##"}], "]"}], "&"}]}], ";"}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"TaskEvaluate", "=",
RowBox[{"Function", "[",
RowBox[{"cell", ",", "\[IndentingNewLine]",
RowBox[{
RowBox[{"SelectionMove", "[",
RowBox[{"cell", ",", "All", ",", "Cell", ",",
RowBox[{"AutoScroll", "\[Rule]", "True"}]}], "]"}], ";",
"\[IndentingNewLine]",
RowBox[{"Switch", "[",
RowBox[{
RowBox[{"CellStyleName", "@", "cell"}], ",", "\[IndentingNewLine]",
RowBox[{"\"\<Input\>\"", "|", "\"\<Code\>\""}], ",",
RowBox[{"SelectionEvaluateCreateCell", "@",
RowBox[{"ParentNotebook", "@", "cell"}]}], ",",
"\[IndentingNewLine]", "SectionPattern", ",", "\[IndentingNewLine]",
RowBox[{
RowBox[{"SelectionMove", "[",
RowBox[{
RowBox[{"$Task", ".", "output"}], ",", "After", ",", "Notebook"}],
"]"}], ";", "\[IndentingNewLine]",
RowBox[{"If", "[",
RowBox[{
RowBox[{
RowBox[{"$Task", ".", "output"}], "=!=",
RowBox[{"$Task", ".", "notebook"}]}], ",",
RowBox[{"NotebookWrite", "[",
RowBox[{
RowBox[{"$Task", ".", "output"}], ",",
RowBox[{"NotebookRead", "@", "cell"}]}], "]"}]}], "]"}]}]}],
"\[IndentingNewLine]", "]"}], ";"}]}], "\[IndentingNewLine]", "]"}]}],
";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"TaskPrint", ":=",
RowBox[{"$Task", ".", "print"}]}], ";"}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"CellTask", "=",
RowBox[{"$", "[",
RowBox[{"CellTask", ",",
RowBox[{"$", "[", "Task", "]"}]}], "]"}]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"CellTask", "[",
RowBox[{"$data_List", ",",
RowBox[{"nb_:", "Null"}]}], "]"}], ":=",
RowBox[{"(", "\[IndentingNewLine]",
RowBox[{
RowBox[{"$", ".",
RowBox[{"Task", "[", "$data", "]"}]}], ";", "\[IndentingNewLine]",
RowBox[{
RowBox[{"$", ".", "step"}], "=", "Infinity"}], ";",
"\[IndentingNewLine]",
RowBox[{
RowBox[{"$", ".", "level"}], "=", "All"}], ";", "\[IndentingNewLine]",
RowBox[{
RowBox[{"$", ".", "notebook"}], "=",
RowBox[{"FindNotebook", "@", "nb"}]}], ";", "\[IndentingNewLine]",
RowBox[{
RowBox[{"$", ".", "output"}], "=",
RowBox[{"EvaluationNotebook", "[", "]"}]}], ";"}],
"\[IndentingNewLine]", ")"}]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"CellTask", ".",
RowBox[{"run", "[", "]"}]}], ":=",
RowBox[{"(", "\[IndentingNewLine]",
RowBox[{
RowBox[{"$Task", "=", "$"}], ";", "\[IndentingNewLine]",
RowBox[{
RowBox[{"$", ".", "next"}], "=",
RowBox[{"Traverse", "[",
RowBox[{"TaskEvaluate", ",",
RowBox[{"$", ".", "data"}], ",",
RowBox[{"$", ".", "pos"}], ",", "1", ",",
RowBox[{"$", ".", "level"}], ",",
RowBox[{
RowBox[{"MatchQ", "[",
RowBox[{"#", ",",
RowBox[{"_List", "|",
RowBox[{"_String", "[", "___", "]"}]}]}], "]"}], "&"}]}], "]"}]}],
";", "\[IndentingNewLine]",
RowBox[{"SelectionMove", "[",
RowBox[{
RowBox[{"$", ".", "Next"}], ",", "All", ",", "Cell", ",",
RowBox[{"AutoScroll", "\[Rule]", "False"}]}], "]"}], ";",
"\[IndentingNewLine]",
RowBox[{"SelectionEvaluateCreateCell", "@",
RowBox[{"ParentNotebook", "[",
RowBox[{"$", ".", "Next"}], "]"}]}], ";"}], "\[IndentingNewLine]",
")"}]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"CellTask", ".", "print"}], "=",
RowBox[{
RowBox[{"(",
RowBox[{
RowBox[{"SelectionMove", "[",
RowBox[{
RowBox[{"$Task", ".", "output"}], ",", "After", ",", "Notebook"}],
"]"}], ";",
RowBox[{
RowBox[{"PrintNotebook", "[",
RowBox[{"$Task", ".", "output"}], "]"}], "[", "##", "]"}]}], ")"}],
"&"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"CellTask", ".", "Next"}], ":=",
RowBox[{"With", "[",
RowBox[{
RowBox[{"{",
RowBox[{"task", "=", "$"}], "}"}], ",",
RowBox[{"Cell", "[",
RowBox[{
RowBox[{"BoxData", "@",
RowBox[{"MakeBoxes", "[", "\[IndentingNewLine]",
RowBox[{