6OZ32QPUY3AQABJED2YWD3PQVEBZJU2TLV63SLWPXIEFQVQV4QPAC WGMWIZHFFIHQM5XDPNFXILOJM5EDIFKWEDKWAWOPD4QL47EQZ4PQC X555TR3LEKORXOZWKRXO2CADK6YGE4R2TSKCNOMMKOL7NPAE47TAC NP7J5YWCLHXKN7MZDXU4EOBHAUSWLQ4NE5SRCPR2HTRFE6WOJCIAC EYM7P7WU6DKJWUJLVSYMEIIIA6PYXCQP7BH7B5ER2KAM5RWCYBYAC JQGPCFES2F2VVNY5CFUHKBWP5QGK4TYREHUKSCEFZYXQO3KQ7VYAC BBIC4T6Q3VLSCOENZNP4RKHZD3EOCZHTTGM3J3D5HH2H4KKUSZRAC GYUGB4M3NFWVJP5KKGDJIH6UY4UOSRCV5QYTGDIP6XLEQWBY7SBAC G3DLS5OUO77V4MC6754KTETRCTVUBYBHMGR7MTV52IYYM7QA3ROQC R5QXEHUIZLELJGGCZAE7ATNS3CLRJ7JFRENMGH4XXH24C5WABZDQC KKMFQDR43ZWVCDRHQLWWX3FCWCFA3ZSXYOBRJNPHUQZR2XPKWULAC W6XUYQKPHYZLEMBPY5L2WCGXIDBKAHVAWAH5V7BKYQXZO33DTNIQC V5SYDHPQ7IKNLZZ3NJ24FDW3IG4O23AASLP2DTKOBPWUUZ5KUPOAC LEP7X3CT5H7NRQOBIAKQU32QLQQWLBURBNTR2YZUYL53C5BRAM6QC BULPIBEGL7TMK6CVIE7IS7WGAHGOSUJBGJSFQK542MOWGHP2ADQQC Z5HLXU4PJWWJJDBCK52NBD6PIRIA3TAN2BKZB5HBYFGIDBX4F5HAC 6LBSEPBJTXIVBYX3AH5FYCQCN66ZRFFO3IVYMDS7IQUGEAZM3MHQC SR4C3ZYZVKXU5WWNJ46NJO5RHTBVO3ZDGVUXUDHA275FRM263PNAC MXA3RZYKUI4UF2ISY7JEF6VKX6NOPZMZH5SLLCZHRJKFIXXXDPSAC QBL4YDQ5QC4MZ7RFS4ZSEBPN5WATAJ7UQLUPTXDUMXAMGBGQDOOQC 3OKKTUT4Q7W44JHILOFV5BVUA7ZOBIHBCEXGZ65CPXV4PRLI2W4QC NEKADRAL5JYGCVY7PYWC73SVQQUFCAYE6AHXIFHNMLUYV5XUQOOAC JMUE7GSN6QDQZ6NDRB55MRJMKJN6LBD6MVQPKROYPDOIXM7I3XNQC I5AZCCITRO63LNWJRME5S4VV4BSSRBHCN7S2WBRZUPMLLPMYVHAAC RVVRBJFNEHF3WRQARNVTXM75PLL4UKJZISPWPK45D6TVY45VVOTAC 53LXFA2O4DZ2GJ7GC6M3FUUNFJ5MOKSUJ74XU2YNLO3HSOEASSXAC ONVQPNBJRWL3VLMV3UJGQOKR26GELHHOUZ7F3ISVVY6ET6OVITOQC 3U6YMMN2GMRL27TLPE7V3KUGM6MI2L3SAQSNU6HMNRINVXVRL3QAC Q3HD3NQ6VOHEXHBSMQ5QDLKUH4OU2OJDMR3UXVOTB65IUUFJ2FCAC VPCPK52KMU4MZUXP4SUSJJDEHDR4C3KJ45HLMUQUK32FMY6OCQ4QC AHOO2ILEJWTPCYHJH26WAF7A4YYVMHFX4UWHSAAAMHI73TSQZ6CAC GR4RROJFJOGM2WLQSVK5R5UYD7IK6ITF6UP5RVHAHD3J4OFJWGCAC KXIWX3X5UH6PSNOYDBYBAHKQZAQJIDHNSDWSIZREGOE6HLS26DBQC VHQCNMARPMNBSIUFLJG7HVK4QGDNPCGNVFLHS3I4IGNVSV5MRLYQC 2XLZCWZCOFZGNAPSD7XNCYITKVY5WZW3OD7IXMC7WJQ5SBI7YHNQC ETM7YJKNFZJ6URA4EMRK7VCW3P45DLEG3UK4IENF6MBTJHHFV6JQC IOYWCTDEHO4GHC777JYUODJSSHL2SJWYTUG5PQPZOG5HEVR6XXYQC P2PODHT74V3R3IKCSMOQOIAZBBEK5ZGTLWMDDBXO7XNVX5FPSNJQC 74C6RCXRROHRH6AYCDWZF4EBNLI6OZGUXZKPOF6RFK222GHBHNDQC UCFOE6KJM4USAO3SATXQQQBF3H6ERZCEWIKTYYYSLJK5TASKZOVAC QYIFOHW3WDDQMK4ATY6IOSQRFHJOQ5QCPDKRC4GVGWLQEH4HGWVQC 4KC7I3E2DIKLIP7LQRKB5WFA2Z5XZXAU46RFHNFQU5BVEJPDX6UQC D2TYQVN3UGM76SYX2NVKKXTRXSEKZV5M5C4HXF7TSHYOQ2AEKBBQC 2L5MEZV344TOZLVY3432RHJFIRVXFD6O3GWLL5O4CV66BGAFTURQC RRMDUZP7S7DJW6QDCVSMQVF5TZHYM3LL65Q7Z4GQIX4GWMVK7A3AC ZCELTHLQU3DL337ELVAPHLDQ2SFY4ENAQA2STBLLVOLR4PXLKNYQC A76AOSKCKOQL5ZGYGWCGNRCMKLUTKGCDVJ5G3ELTIVHZ7OFH35MQC GO4OXDP4USUBN2UGNY2ZZEUZE3NG52F3T5CZ76H7VQ23Q4CQOSJAC UHB4GARJI5AB5UCDCZRFSCJNXGJSLU5DYGUGX5ITYEXI7Q43Z4CAC BLWAYPKV3MLDZ4ALXLUJ25AIR6PCIL4RFYNRYLB26GFVC2KQBYBAC LW6UME22NIRDLYNQDP47SLYT2ZEBD4HMHQOJNXJRRXQYVMNF4IGAC 3OTESDW65UJ2W5RIXA6FNKRSD7TBCZTCCCEAYOQMEVGYZ6RCU34QC SEBFLWZVK6Y7GX62DXQFWJG4IFV2VTXHGEWS25ZIQYKC3AQW5TFQC KXRF6Q5QSSC4JIUJSUTJ376PNKD42CLYICJNQCBUNIZVEUHX2HYAC EHSUSZMKVRSJ5HPJZQCKWFY3BRNLAIBDATSHDQ7AMJZ6SX2I6Z2AC GQBUV2XOMEPMTXMPCBQWGGIUXGQDX77VTGPFIG6YT7G64ASOYHXQC F7JBFZFRALHRUTYYHJ2J7OBBB5WYPJBDTLDLZAMTVC3FUVJ7MAIAC IUBUKOBFGTLXNHRNYGVN35F5OQISTGQDB27WMS2LXBVVBXCXGUDQC F7MP5BERVKCYMWFWQ7EBOJFYY3FYWFVLYENXTWKPREGDLFRESPBAC D3FRDRWOY6VGMAOGR35GPX7QYBEHDT6J4JKUZCGDEFDPWXGHD3YQC WNILGROUH2LQ7GFGGWCHIE4YUWBQNU6QQETTL7UHGK3P5P7SEWCQC ACJAMKBT4W65O2U5PFWO6XCGF7ULSKVPTIC4PXPIZGHHJGETU3MAC CJ4VCNOZPQSBURPNWCOGJCWPEUI43WTKGJHUJZOYMNGRUPFGVM3QC ZU3HJ6NH26LFY2NWRCCRMXECNEPVR25OJNOFEK5XJ3KYFJUCKQXAC 5CPFKPDDH4X5L5G267NZCKDSCOCVZOURU7WI4HYRFGUBOVVMH7NAC SPTL7VK47SAGTCGQDCQWMEFC43KWJNWCL76NSYHEVBENHIWKRWNAC 5MRLKZV574TCMNL5APG4XCHPK6CB36BI6KV3HMXOGD47WB5VKPTAC V6JHPHYNDGOBF3OKHPYJ6IQEU5PSLWNUCQBGVW4TG7TYL6OLF3QAC assert(index, 'file missing from manifest')table.remove(File_navigation.all_candidates, index)table.insert(File_navigation.all_candidates, 1, s)
--? print('down', State.screen_top1.line, State.screen_top1.pos, State.cursor1.line, State.cursor1.pos, State.screen_bottom1.line, State.screen_bottom1.pos)assert(State.cursor1.pos)
assert(Directory_error == nil) -- this will go into an infinite loop if handle_error ever tries to save settings
-- avoid an infinite loop if handle_error ever tries to save settingsassert(Directory_error == nil,"tried to save settings when we couldn't determine the directory to browse notes in")
assert(App.screen.height - (cursor_sy-Display_settings.y) > 1.5*Line_height)
assert(App.screen.height - (cursor_sy-Display_settings.y) > 1.5*Line_height, 'ugh, ancient bug is back: panning the viewport when cursor falls off')elseassert(false, ('unknown dir %s'):format(dir))
if #State.lines ~= #State.line_cache thenlog(2, os.date('%Y/%m/%d/%H-%M-%S')..(' line_cache is out of date; %d when it should be %d'):format(#State.line_cache, #State.lines))assert(false)end
assert(#State.lines == #State.line_cache, ('line_cache is out of date; %d elements when it should be %d'):format(#State.line_cache, #State.lines))
assert(#State.lines == #State.line_cache, ('line_cache is out of date; %d elements when it should be %d'):format(#State.line_cache, #State.lines))assert(Text.le1(State.screen_top1, State.cursor1), ('screen_top (line=%d,pos=%d) is below cursor (line=%d,pos=%d)'):format(State.screen_top1.line, State.screen_top1.pos, State.cursor1.line, State.cursor1.pos))