[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page\u002Fru\u002Fdocs\u002Fcore\u002Ftext-diff\u002Fexamples":3,"page-\u002Fdocs\u002Fcore\u002Ftext-diff\u002Fexamples-ru":386,"surroundings\u002Fdocs\u002Fcore\u002Ftext-diff\u002Fexamples-ru":4127},[4],{"title":5,"ignore":6,"path":7,"stem":8,"children":9,"page":26},"Документация",true,"\u002Fru\u002Fdocs","ru\u002F01.docs",[10,27,377],{"title":11,"path":12,"stem":13,"children":14,"page":-1},"Русский","\u002Fru\u002Fdocs\u002Fwelcome","ru\u002F01.docs\u002F01.welcome\u002F01.index",[15,17],{"title":16,"path":12,"stem":13},"Welcome",{"title":18,"path":19,"stem":20,"children":21,"page":26},"Get Started","\u002Fru\u002Fdocs\u002Fwelcome\u002Fget-started","ru\u002F01.docs\u002F01.welcome\u002F01.get-started",[22],{"title":23,"path":24,"stem":25},"Установка","\u002Fru\u002Fdocs\u002Fwelcome\u002Fget-started\u002Finstallation","ru\u002F01.docs\u002F01.welcome\u002F01.get-started\u002F02.installation",false,{"title":28,"path":29,"stem":30,"children":31,"page":26},"Основные инструменты","\u002Fru\u002Fdocs\u002Fcore","ru\u002F01.docs\u002F02.core",[32,57,69,78,87,110,142,151,159,168,176,187,208,233,264,292,320,347],{"title":33,"path":34,"stem":35,"children":36,"page":26},"MD5","\u002Fru\u002Fdocs\u002Fcore\u002Fmd5","ru\u002F01.docs\u002F02.core\u002F01.md5",[37,41,45,49,53],{"title":38,"path":39,"stem":40},"Введение","\u002Fru\u002Fdocs\u002Fcore\u002Fmd5\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F01.md5\u002F01.introduction",{"title":42,"path":43,"stem":44},"Базовое Использование","\u002Fru\u002Fdocs\u002Fcore\u002Fmd5\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002F01.md5\u002F02.basic-usage",{"title":46,"path":47,"stem":48},"Расширенные функции","\u002Fru\u002Fdocs\u002Fcore\u002Fmd5\u002Fadvanced-features","ru\u002F01.docs\u002F02.core\u002F01.md5\u002F03.advanced-features",{"title":50,"path":51,"stem":52},"Соображения Безопасности","\u002Fru\u002Fdocs\u002Fcore\u002Fmd5\u002Fsecurity-considerations","ru\u002F01.docs\u002F02.core\u002F01.md5\u002F04.security-considerations",{"title":54,"path":55,"stem":56},"Справочник API","\u002Fru\u002Fdocs\u002Fcore\u002Fmd5\u002Fapi-reference","ru\u002F01.docs\u002F02.core\u002F01.md5\u002F05.api-reference",{"title":58,"path":59,"stem":60,"children":61,"page":26},"UUID","\u002Fru\u002Fdocs\u002Fcore\u002Fuuid","ru\u002F01.docs\u002F02.core\u002F02.uuid",[62,65],{"title":38,"path":63,"stem":64},"\u002Fru\u002Fdocs\u002Fcore\u002Fuuid\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F02.uuid\u002F01.introduction",{"title":66,"path":67,"stem":68},"API","\u002Fru\u002Fdocs\u002Fcore\u002Fuuid\u002Fapi","ru\u002F01.docs\u002F02.core\u002F02.uuid\u002F02.api",{"title":70,"path":71,"stem":72,"children":73,"page":26},"Clock","\u002Fru\u002Fdocs\u002Fcore\u002Fclock","ru\u002F01.docs\u002F02.core\u002F06.clock",[74],{"title":75,"path":76,"stem":77},"Clock Tool","\u002Fru\u002Fdocs\u002Fcore\u002Fclock\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F06.clock\u002F0.introduction",{"title":79,"path":80,"stem":81,"children":82,"page":26},"Screenshot Tool","\u002Fru\u002Fdocs\u002Fcore\u002Fscreenshot-tool","ru\u002F01.docs\u002F02.core\u002F07.screenshot-tool",[83],{"title":84,"path":85,"stem":86},"Introduction","\u002Fru\u002Fdocs\u002Fcore\u002Fscreenshot-tool\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F07.screenshot-tool\u002F0.introduction",{"title":88,"path":89,"stem":90,"children":91,"page":26},"Area Converter","\u002Fru\u002Fdocs\u002Fcore\u002Farea-converter","ru\u002F01.docs\u002F02.core\u002F08.area-converter",[92,95,99,102,106],{"title":84,"path":93,"stem":94},"\u002Fru\u002Fdocs\u002Fcore\u002Farea-converter\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F08.area-converter\u002F0.introduction",{"title":96,"path":97,"stem":98},"Базовое использование","\u002Fru\u002Fdocs\u002Fcore\u002Farea-converter\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002F08.area-converter\u002F02.basic-usage",{"title":46,"path":100,"stem":101},"\u002Fru\u002Fdocs\u002Fcore\u002Farea-converter\u002Fadvanced-features","ru\u002F01.docs\u002F02.core\u002F08.area-converter\u002F03.advanced-features",{"title":103,"path":104,"stem":105},"Примеры","\u002Fru\u002Fdocs\u002Fcore\u002Farea-converter\u002Fexamples","ru\u002F01.docs\u002F02.core\u002F08.area-converter\u002F04.examples",{"title":107,"path":108,"stem":109},"Часто задаваемые вопросы","\u002Fru\u002Fdocs\u002Fcore\u002Farea-converter\u002Ffaq","ru\u002F01.docs\u002F02.core\u002F08.area-converter\u002F05.faq",{"title":111,"path":112,"stem":113,"children":114,"page":26},"Camera Recorder","\u002Fru\u002Fdocs\u002Fcore\u002Fcamera-recorder","ru\u002F01.docs\u002F02.core\u002F08.camera-recorder",[115,118,122,126,130,134,138],{"title":84,"path":116,"stem":117},"\u002Fru\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F0.introduction",{"title":119,"path":120,"stem":121},"Basic Usage","\u002Fru\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F02.basic-usage",{"title":123,"path":124,"stem":125},"Advanced Features","\u002Fru\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Fadvanced-features","ru\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F03.advanced-features",{"title":127,"path":128,"stem":129},"Examples","\u002Fru\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Fexamples","ru\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F04.examples",{"title":131,"path":132,"stem":133},"Frequently Asked Questions","\u002Fru\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Ffaq","ru\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F05.faq",{"title":135,"path":136,"stem":137},"Related Tools","\u002Fru\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Frelated-tools","ru\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F06.related-tools",{"title":139,"path":140,"stem":141},"Security Considerations","\u002Fru\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Fsecurity-considerations","ru\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F07.security-considerations",{"title":143,"path":144,"stem":145,"children":146,"page":26},"Keycode Info","\u002Fru\u002Fdocs\u002Fcore\u002Fkeycode-info","ru\u002F01.docs\u002F02.core\u002F13.keycode-info",[147],{"title":148,"path":149,"stem":150},"Информация о Кодеке Клавиши - Введение","\u002Fru\u002Fdocs\u002Fcore\u002Fkeycode-info\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F13.keycode-info\u002F0.introduction",{"title":152,"path":153,"stem":154,"children":155,"page":26},"Xml To Json","\u002Fru\u002Fdocs\u002Fcore\u002Fxml-to-json","ru\u002F01.docs\u002F02.core\u002F16.xml-to-json",[156],{"title":84,"path":157,"stem":158},"\u002Fru\u002Fdocs\u002Fcore\u002Fxml-to-json\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F16.xml-to-json\u002F0.introduction",{"title":160,"path":161,"stem":162,"children":163,"page":26},"Text Replacer","\u002Fru\u002Fdocs\u002Fcore\u002Ftext-replacer","ru\u002F01.docs\u002F02.core\u002F19.text-replacer",[164],{"title":165,"path":166,"stem":167},"Инструмент замены текста - Введение","\u002Fru\u002Fdocs\u002Fcore\u002Ftext-replacer\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F19.text-replacer\u002F01.introduction",{"title":169,"path":170,"stem":171,"children":172,"page":26},"Temperature Converter","\u002Fru\u002Fdocs\u002Fcore\u002Ftemperature-converter","ru\u002F01.docs\u002F02.core\u002F20.temperature-converter",[173],{"title":84,"path":174,"stem":175},"\u002Fru\u002Fdocs\u002Fcore\u002Ftemperature-converter\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F20.temperature-converter\u002F0.introduction",{"title":177,"path":178,"stem":179,"children":180,"page":26},"Black Wallpaper","\u002Fru\u002Fdocs\u002Fcore\u002Fblack-wallpaper","ru\u002F01.docs\u002F02.core\u002F23.black-wallpaper",[181,184],{"title":84,"path":182,"stem":183},"\u002Fru\u002Fdocs\u002Fcore\u002Fblack-wallpaper\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F23.black-wallpaper\u002F0.introduction",{"title":96,"path":185,"stem":186},"\u002Fru\u002Fdocs\u002Fcore\u002Fblack-wallpaper\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002F23.black-wallpaper\u002F02.basic-usage",{"title":188,"path":189,"stem":190,"children":191,"page":26},"Text Diff","\u002Fru\u002Fdocs\u002Fcore\u002Ftext-diff","ru\u002F01.docs\u002F02.core\u002F23.text-diff",[192,196,200,204],{"title":193,"path":194,"stem":195},"Инструмент Text Diff - Введение","\u002Fru\u002Fdocs\u002Fcore\u002Ftext-diff\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F23.text-diff\u002F0.introduction",{"title":197,"path":198,"stem":199},"Базовое использование - Инструмент Text Diff","\u002Fru\u002Fdocs\u002Fcore\u002Ftext-diff\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002F23.text-diff\u002F02.basic-usage",{"title":201,"path":202,"stem":203},"Расширенные функции - Инструмент Text Diff","\u002Fru\u002Fdocs\u002Fcore\u002Ftext-diff\u002Fadvanced-features","ru\u002F01.docs\u002F02.core\u002F23.text-diff\u002F03.advanced-features",{"title":205,"path":206,"stem":207},"Примеры - Инструмент Text Diff","\u002Fru\u002Fdocs\u002Fcore\u002Ftext-diff\u002Fexamples","ru\u002F01.docs\u002F02.core\u002F23.text-diff\u002F04.examples",{"title":209,"path":210,"stem":211,"children":212,"page":26},"M3u8 Player","\u002Fru\u002Fdocs\u002Fcore\u002Fm3u8-player","ru\u002F01.docs\u002F02.core\u002F26.m3u8-player",[213,216,220,223,226,230],{"title":84,"path":214,"stem":215},"\u002Fru\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F0.introduction",{"title":217,"path":218,"stem":219},"Основное использование","\u002Fru\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F02.basic-usage",{"title":46,"path":221,"stem":222},"\u002Fru\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Fadvanced-features","ru\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F03.advanced-features",{"title":54,"path":224,"stem":225},"\u002Fru\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Fapi-reference","ru\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F05.api-reference",{"title":227,"path":228,"stem":229},"Примеры кода","\u002Fru\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Fexamples","ru\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F06.examples",{"title":107,"path":231,"stem":232},"\u002Fru\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Ffaq","ru\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F07.faq",{"title":234,"path":235,"stem":236,"children":237,"page":26},"Screen Dead Pixel Detector","\u002Fru\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector","ru\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector",[238,242,245,249,253,256,260],{"title":239,"path":240,"stem":241},"Детектор битых пикселей экрана","\u002Fru\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F0.introduction",{"title":96,"path":243,"stem":244},"\u002Fru\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F02.basic-usage",{"title":246,"path":247,"stem":248},"Расширенные возможности","\u002Fru\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Fadvanced-features","ru\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F03.advanced-features",{"title":250,"path":251,"stem":252},"Безопасность и конфиденциальность","\u002Fru\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Fsecurity-considerations","ru\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F04.security-considerations",{"title":103,"path":254,"stem":255},"\u002Fru\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Fexamples","ru\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F06.examples",{"title":257,"path":258,"stem":259},"FAQ","\u002Fru\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Ffaq","ru\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F07.faq",{"title":261,"path":262,"stem":263},"Связанные инструменты","\u002Fru\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Frelated-tools","ru\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F08.related-tools",{"title":265,"path":266,"stem":267,"children":268,"page":26},"Survey Tool","\u002Fru\u002Fdocs\u002Fcore\u002Fsurvey-tool","ru\u002F01.docs\u002F02.core\u002F31.survey-tool",[269,273,276,279,283,286,289],{"title":270,"path":271,"stem":272},"Инструмент опросов","\u002Fru\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F0.introduction",{"title":96,"path":274,"stem":275},"\u002Fru\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F02.basic-usage",{"title":46,"path":277,"stem":278},"\u002Fru\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Fadvanced-features","ru\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F03.advanced-features",{"title":280,"path":281,"stem":282},"Безопасность","\u002Fru\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Fsecurity-considerations","ru\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F04.security-considerations",{"title":103,"path":284,"stem":285},"\u002Fru\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Fexamples","ru\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F06.examples",{"title":257,"path":287,"stem":288},"\u002Fru\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Ffaq","ru\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F07.faq",{"title":261,"path":290,"stem":291},"\u002Fru\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Frelated-tools","ru\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F08.related-tools",{"title":293,"path":294,"stem":295,"children":296,"page":26},"Vue Office","\u002Fru\u002Fdocs\u002Fcore\u002Fvue-office","ru\u002F01.docs\u002F02.core\u002F32.vue-office",[297,301,304,307,311,314,317],{"title":298,"path":299,"stem":300},"Просмотр документов Vue Office","\u002Fru\u002Fdocs\u002Fcore\u002Fvue-office\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F32.vue-office\u002F0.introduction",{"title":96,"path":302,"stem":303},"\u002Fru\u002Fdocs\u002Fcore\u002Fvue-office\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002F32.vue-office\u002F02.basic-usage",{"title":246,"path":305,"stem":306},"\u002Fru\u002Fdocs\u002Fcore\u002Fvue-office\u002Fadvanced-features","ru\u002F01.docs\u002F02.core\u002F32.vue-office\u002F03.advanced-features",{"title":308,"path":309,"stem":310},"Вопросы безопасности","\u002Fru\u002Fdocs\u002Fcore\u002Fvue-office\u002Fsecurity-considerations","ru\u002F01.docs\u002F02.core\u002F32.vue-office\u002F04.security-considerations",{"title":103,"path":312,"stem":313},"\u002Fru\u002Fdocs\u002Fcore\u002Fvue-office\u002Fexamples","ru\u002F01.docs\u002F02.core\u002F32.vue-office\u002F06.examples",{"title":257,"path":315,"stem":316},"\u002Fru\u002Fdocs\u002Fcore\u002Fvue-office\u002Ffaq","ru\u002F01.docs\u002F02.core\u002F32.vue-office\u002F07.faq",{"title":261,"path":318,"stem":319},"\u002Fru\u002Fdocs\u002Fcore\u002Fvue-office\u002Frelated-tools","ru\u002F01.docs\u002F02.core\u002F32.vue-office\u002F08.related-tools",{"title":321,"path":322,"stem":323,"children":324,"page":26},"Event Calendar","\u002Fru\u002Fdocs\u002Fcore\u002Fevent-calendar","ru\u002F01.docs\u002F02.core\u002F33.event-calendar",[325,329,332,335,338,341,344],{"title":326,"path":327,"stem":328},"Календарь событий","\u002Fru\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F0.introduction",{"title":96,"path":330,"stem":331},"\u002Fru\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F02.basic-usage",{"title":46,"path":333,"stem":334},"\u002Fru\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Fadvanced-features","ru\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F03.advanced-features",{"title":280,"path":336,"stem":337},"\u002Fru\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Fsecurity-considerations","ru\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F04.security-considerations",{"title":103,"path":339,"stem":340},"\u002Fru\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Fexamples","ru\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F06.examples",{"title":257,"path":342,"stem":343},"\u002Fru\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Ffaq","ru\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F07.faq",{"title":261,"path":345,"stem":346},"\u002Fru\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Frelated-tools","ru\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F08.related-tools",{"title":348,"path":349,"stem":350,"children":351,"page":26},"Base64","\u002Fru\u002Fdocs\u002Fcore\u002Fbase64","ru\u002F01.docs\u002F02.core\u002Fbase64",[352,355,358,361,365,368,371,374],{"title":84,"path":353,"stem":354},"\u002Fru\u002Fdocs\u002Fcore\u002Fbase64\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002Fbase64\u002F0.introduction",{"title":217,"path":356,"stem":357},"\u002Fru\u002Fdocs\u002Fcore\u002Fbase64\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002Fbase64\u002F02.basic-usage",{"title":46,"path":359,"stem":360},"\u002Fru\u002Fdocs\u002Fcore\u002Fbase64\u002Fadvanced-features","ru\u002F01.docs\u002F02.core\u002Fbase64\u002F03.advanced-features",{"title":362,"path":363,"stem":364},"Соображения безопасности","\u002Fru\u002Fdocs\u002Fcore\u002Fbase64\u002Fsecurity-considerations","ru\u002F01.docs\u002F02.core\u002Fbase64\u002F04.security-considerations",{"title":54,"path":366,"stem":367},"\u002Fru\u002Fdocs\u002Fcore\u002Fbase64\u002Fapi-reference","ru\u002F01.docs\u002F02.core\u002Fbase64\u002F05.api-reference",{"title":103,"path":369,"stem":370},"\u002Fru\u002Fdocs\u002Fcore\u002Fbase64\u002Fexamples","ru\u002F01.docs\u002F02.core\u002Fbase64\u002F06.examples",{"title":107,"path":372,"stem":373},"\u002Fru\u002Fdocs\u002Fcore\u002Fbase64\u002Ffaq","ru\u002F01.docs\u002F02.core\u002Fbase64\u002F07.faq",{"title":261,"path":375,"stem":376},"\u002Fru\u002Fdocs\u002Fcore\u002Fbase64\u002Frelated-tools","ru\u002F01.docs\u002F02.core\u002Fbase64\u002F08.related-tools",{"title":378,"path":379,"stem":380,"children":381,"page":26},"Troubleshooting","\u002Fru\u002Fdocs\u002Ftroubleshooting","ru\u002F01.docs\u002F06.troubleshooting",[382],{"title":383,"path":384,"stem":385},"Часто Задаваемые Вопросы","\u002Fru\u002Fdocs\u002Ftroubleshooting\u002Fcommon-issues","ru\u002F01.docs\u002F06.troubleshooting\u002F01.common-issues",{"id":387,"title":205,"body":388,"description":4121,"extension":4122,"meta":4123,"navigation":6,"path":206,"seo":4124,"sitemap":4125,"stem":207,"__hash__":4126},"content_ru\u002Fru\u002F01.docs\u002F02.core\u002F23.text-diff\u002F04.examples.md",{"type":389,"value":390,"toc":4086},"minimark",[391,396,400,404,412,417,566,571,706,711,719,725,730,1302,1307,1746,1750,1756,1761,1922,1927,2101,2107,2112,2230,2235,2351,2355,2361,2366,2615,2620,3348,3351,3357,3362,3415,3419,3433,3437,3450,3456,3459,3463,3478,3482,3502,3505,3509,3541,3545,3571,3575,3584,3588,3606,3610,3618,3624,3629,3991,3995,4001,4027,4033,4053,4059,4079,4082],[392,393,395],"h2",{"id":394},"практические-примеры","Практические Примеры",[397,398,399],"p",{},"Здесь вы найдете коллекцию практических примеров, которые показывают, как инструмент Text Diff может использоваться в различных сценариях.",[392,401,403],{"id":402},"разработка-кода","Разработка Кода",[405,406,408],"h3",{"id":407},"обновление-функции-javascript",[409,410,411],"strong",{},"Обновление Функции JavaScript",[397,413,414],{},[409,415,416],{},"Файл A (Оригинал):",[418,419,424],"pre",{"className":420,"code":421,"language":422,"meta":423,"style":423},"language-javascript shiki shiki-themes github-light github-light dark-plus","function calculateTotal(items) {\n  let total = 0;\n  for (let i = 0; i \u003C items.length; i++) {\n    total += items[i].price;\n  }\n  return total;\n}\n","javascript","",[425,426,427,451,472,520,544,550,560],"code",{"__ignoreMap":423},[428,429,432,436,440,444,448],"span",{"class":430,"line":431},"line",1,[428,433,435],{"class":434},"sGiLm","function",[428,437,439],{"class":438},"sqMzV"," calculateTotal",[428,441,443],{"class":442},"svVIm","(",[428,445,447],{"class":446},"szM7h","items",[428,449,450],{"class":442},") {\n",[428,452,454,457,461,465,469],{"class":430,"line":453},2,[428,455,456],{"class":434},"  let",[428,458,460],{"class":459},"szTj3"," total",[428,462,464],{"class":463},"sGmsN"," =",[428,466,468],{"class":467},"sewGd"," 0",[428,470,471],{"class":442},";\n",[428,473,475,479,482,485,488,490,492,495,498,501,504,507,511,513,515,518],{"class":430,"line":474},3,[428,476,478],{"class":477},"srAhW","  for",[428,480,481],{"class":442}," (",[428,483,484],{"class":434},"let",[428,486,487],{"class":459}," i",[428,489,464],{"class":463},[428,491,468],{"class":467},[428,493,494],{"class":442},"; ",[428,496,497],{"class":459},"i",[428,499,500],{"class":463}," \u003C",[428,502,503],{"class":459}," items",[428,505,506],{"class":442},".",[428,508,510],{"class":509},"sSQ6O","length",[428,512,494],{"class":442},[428,514,497],{"class":459},[428,516,517],{"class":463},"++",[428,519,450],{"class":442},[428,521,523,526,529,531,534,536,539,542],{"class":430,"line":522},4,[428,524,525],{"class":459},"    total",[428,527,528],{"class":463}," +=",[428,530,503],{"class":459},[428,532,533],{"class":442},"[",[428,535,497],{"class":459},[428,537,538],{"class":442},"].",[428,540,541],{"class":459},"price",[428,543,471],{"class":442},[428,545,547],{"class":430,"line":546},5,[428,548,549],{"class":442},"  }\n",[428,551,553,556,558],{"class":430,"line":552},6,[428,554,555],{"class":477},"  return",[428,557,460],{"class":459},[428,559,471],{"class":442},[428,561,563],{"class":430,"line":562},7,[428,564,565],{"class":442},"}\n",[397,567,568],{},[409,569,570],{},"Файл B (Улучшенный):",[418,572,574],{"className":420,"code":573,"language":422,"meta":423,"style":423},"function calculateTotal(items) {\n  if (!items || items.length === 0) {\n    return 0;\n  }\n\n  return items.reduce((total, item) => {\n    return total + (item.price || 0);\n  }, 0);\n}\n",[425,575,576,588,616,625,629,634,666,690,701],{"__ignoreMap":423},[428,577,578,580,582,584,586],{"class":430,"line":431},[428,579,435],{"class":434},[428,581,439],{"class":438},[428,583,443],{"class":442},[428,585,447],{"class":446},[428,587,450],{"class":442},[428,589,590,593,595,598,600,603,605,607,609,612,614],{"class":430,"line":453},[428,591,592],{"class":477},"  if",[428,594,481],{"class":442},[428,596,597],{"class":463},"!",[428,599,447],{"class":459},[428,601,602],{"class":463}," ||",[428,604,503],{"class":459},[428,606,506],{"class":442},[428,608,510],{"class":509},[428,610,611],{"class":463}," ===",[428,613,468],{"class":467},[428,615,450],{"class":442},[428,617,618,621,623],{"class":430,"line":474},[428,619,620],{"class":477},"    return",[428,622,468],{"class":467},[428,624,471],{"class":442},[428,626,627],{"class":430,"line":522},[428,628,549],{"class":442},[428,630,631],{"class":430,"line":546},[428,632,633],{"emptyLinePlaceholder":6},"\n",[428,635,636,638,640,642,645,648,651,654,657,660,663],{"class":430,"line":552},[428,637,555],{"class":477},[428,639,503],{"class":459},[428,641,506],{"class":442},[428,643,644],{"class":438},"reduce",[428,646,647],{"class":442},"((",[428,649,650],{"class":446},"total",[428,652,653],{"class":442},", ",[428,655,656],{"class":446},"item",[428,658,659],{"class":442},") ",[428,661,662],{"class":434},"=>",[428,664,665],{"class":442}," {\n",[428,667,668,670,672,675,677,679,681,683,685,687],{"class":430,"line":562},[428,669,620],{"class":477},[428,671,460],{"class":459},[428,673,674],{"class":463}," +",[428,676,481],{"class":442},[428,678,656],{"class":459},[428,680,506],{"class":442},[428,682,541],{"class":459},[428,684,602],{"class":463},[428,686,468],{"class":467},[428,688,689],{"class":442},");\n",[428,691,693,696,699],{"class":430,"line":692},8,[428,694,695],{"class":442},"  }, ",[428,697,698],{"class":467},"0",[428,700,689],{"class":442},[428,702,704],{"class":430,"line":703},9,[428,705,565],{"class":442},[397,707,708],{},[409,709,710],{},"Результат Diff:",[418,712,717],{"className":713,"code":715,"language":716},[714],"language-text","+ 2   2 |     if (!items || items.length === 0) {\n+ 3   3 |         return 0;\n+ 4   4 |     }\n+ 5   5 |\n- 2   6 |     let total = 0;\n- 3   7 |     for (let i = 0; i \u003C items.length; i++) {\n- 4   8 |         total += items[i].price;\n- 5   9 |     }\n- 6  10 |     return total;\n+ 6   7 |     return items.reduce((total, item) => {\n+ 7   8 |         return total + (item.price || 0);\n+ 8   9 |     }, 0);\n","text",[425,718,715],{"__ignoreMap":423},[405,720,722],{"id":721},"рефакторинг-react-компонента",[409,723,724],{},"Рефакторинг React Компонента",[397,726,727],{},[409,728,729],{},"Файл A (Классовый Компонент):",[418,731,735],{"className":732,"code":733,"language":734,"meta":423,"style":423},"language-jsx shiki shiki-themes github-light github-light dark-plus","import React, { Component } from 'react';\n\nclass UserProfile extends Component {\n  constructor(props) {\n    super(props);\n    this.state = {\n      user: null,\n      loading: true,\n    };\n  }\n\n  componentDidMount() {\n    this.fetchUser();\n  }\n\n  fetchUser = async () => {\n    try {\n      const response = await fetch(`\u002Fapi\u002Fusers\u002F${this.props.userId}`);\n      const user = await response.json();\n      this.setState({ user, loading: false });\n    } catch (error) {\n      console.error('Error fetching user:', error);\n      this.setState({ loading: false });\n    }\n  };\n\n  render() {\n    const { user, loading } = this.state;\n\n    if (loading) return \u003Cdiv>Загрузка...\u003C\u002Fdiv>;\n    if (!user) return \u003Cdiv>Пользователь не найден\u003C\u002Fdiv>;\n\n    return (\n      \u003Cdiv>\n        \u003Ch1>{user.name}\u003C\u002Fh1>\n        \u003Cp>{user.email}\u003C\u002Fp>\n      \u003C\u002Fdiv>\n    );\n  }\n}\n","jsx",[425,736,737,763,767,784,796,808,822,833,843,848,853,858,867,880,885,890,908,916,964,985,1013,1029,1050,1067,1073,1079,1084,1092,1122,1127,1164,1196,1201,1209,1220,1250,1276,1286,1292,1297],{"__ignoreMap":423},[428,738,739,742,745,748,751,754,757,761],{"class":430,"line":431},[428,740,741],{"class":477},"import",[428,743,744],{"class":459}," React",[428,746,747],{"class":442},", { ",[428,749,750],{"class":459},"Component",[428,752,753],{"class":442}," } ",[428,755,756],{"class":477},"from",[428,758,760],{"class":759},"sjj1j"," 'react'",[428,762,471],{"class":442},[428,764,765],{"class":430,"line":453},[428,766,633],{"emptyLinePlaceholder":6},[428,768,769,772,776,779,782],{"class":430,"line":474},[428,770,771],{"class":434},"class",[428,773,775],{"class":774},"s_0E6"," UserProfile",[428,777,778],{"class":434}," extends",[428,780,781],{"class":774}," Component",[428,783,665],{"class":442},[428,785,786,789,791,794],{"class":430,"line":522},[428,787,788],{"class":434},"  constructor",[428,790,443],{"class":442},[428,792,793],{"class":446},"props",[428,795,450],{"class":442},[428,797,798,802,804,806],{"class":430,"line":546},[428,799,801],{"class":800},"sLV08","    super",[428,803,443],{"class":442},[428,805,793],{"class":459},[428,807,689],{"class":442},[428,809,810,813,815,818,820],{"class":430,"line":552},[428,811,812],{"class":800},"    this",[428,814,506],{"class":442},[428,816,817],{"class":459},"state",[428,819,464],{"class":463},[428,821,665],{"class":442},[428,823,824,827,830],{"class":430,"line":562},[428,825,826],{"class":459},"      user:",[428,828,829],{"class":800}," null",[428,831,832],{"class":442},",\n",[428,834,835,838,841],{"class":430,"line":692},[428,836,837],{"class":459},"      loading:",[428,839,840],{"class":800}," true",[428,842,832],{"class":442},[428,844,845],{"class":430,"line":703},[428,846,847],{"class":442},"    };\n",[428,849,851],{"class":430,"line":850},10,[428,852,549],{"class":442},[428,854,856],{"class":430,"line":855},11,[428,857,633],{"emptyLinePlaceholder":6},[428,859,861,864],{"class":430,"line":860},12,[428,862,863],{"class":438},"  componentDidMount",[428,865,866],{"class":442},"() {\n",[428,868,870,872,874,877],{"class":430,"line":869},13,[428,871,812],{"class":800},[428,873,506],{"class":442},[428,875,876],{"class":438},"fetchUser",[428,878,879],{"class":442},"();\n",[428,881,883],{"class":430,"line":882},14,[428,884,549],{"class":442},[428,886,888],{"class":430,"line":887},15,[428,889,633],{"emptyLinePlaceholder":6},[428,891,893,896,898,901,904,906],{"class":430,"line":892},16,[428,894,895],{"class":438},"  fetchUser",[428,897,464],{"class":463},[428,899,900],{"class":434}," async",[428,902,903],{"class":442}," () ",[428,905,662],{"class":434},[428,907,665],{"class":442},[428,909,911,914],{"class":430,"line":910},17,[428,912,913],{"class":477},"    try",[428,915,665],{"class":442},[428,917,919,922,926,928,931,934,936,939,943,946,949,951,953,956,959,962],{"class":430,"line":918},18,[428,920,921],{"class":434},"      const",[428,923,925],{"class":924},"sdRU0"," response",[428,927,464],{"class":463},[428,929,930],{"class":477}," await",[428,932,933],{"class":438}," fetch",[428,935,443],{"class":442},[428,937,938],{"class":759},"`\u002Fapi\u002Fusers\u002F",[428,940,942],{"class":941},"s7eq4","${",[428,944,945],{"class":800},"this",[428,947,506],{"class":948},"sXkxF",[428,950,793],{"class":459},[428,952,506],{"class":948},[428,954,955],{"class":459},"userId",[428,957,958],{"class":941},"}",[428,960,961],{"class":759},"`",[428,963,689],{"class":442},[428,965,967,969,972,974,976,978,980,983],{"class":430,"line":966},19,[428,968,921],{"class":434},[428,970,971],{"class":924}," user",[428,973,464],{"class":463},[428,975,930],{"class":477},[428,977,925],{"class":459},[428,979,506],{"class":442},[428,981,982],{"class":438},"json",[428,984,879],{"class":442},[428,986,988,991,993,996,999,1002,1004,1007,1010],{"class":430,"line":987},20,[428,989,990],{"class":800},"      this",[428,992,506],{"class":442},[428,994,995],{"class":438},"setState",[428,997,998],{"class":442},"({ ",[428,1000,1001],{"class":459},"user",[428,1003,653],{"class":442},[428,1005,1006],{"class":459},"loading:",[428,1008,1009],{"class":800}," false",[428,1011,1012],{"class":442}," });\n",[428,1014,1016,1019,1022,1024,1027],{"class":430,"line":1015},21,[428,1017,1018],{"class":442},"    } ",[428,1020,1021],{"class":477},"catch",[428,1023,481],{"class":442},[428,1025,1026],{"class":459},"error",[428,1028,450],{"class":442},[428,1030,1032,1035,1037,1039,1041,1044,1046,1048],{"class":430,"line":1031},22,[428,1033,1034],{"class":459},"      console",[428,1036,506],{"class":442},[428,1038,1026],{"class":438},[428,1040,443],{"class":442},[428,1042,1043],{"class":759},"'Error fetching user:'",[428,1045,653],{"class":442},[428,1047,1026],{"class":459},[428,1049,689],{"class":442},[428,1051,1053,1055,1057,1059,1061,1063,1065],{"class":430,"line":1052},23,[428,1054,990],{"class":800},[428,1056,506],{"class":442},[428,1058,995],{"class":438},[428,1060,998],{"class":442},[428,1062,1006],{"class":459},[428,1064,1009],{"class":800},[428,1066,1012],{"class":442},[428,1068,1070],{"class":430,"line":1069},24,[428,1071,1072],{"class":442},"    }\n",[428,1074,1076],{"class":430,"line":1075},25,[428,1077,1078],{"class":442},"  };\n",[428,1080,1082],{"class":430,"line":1081},26,[428,1083,633],{"emptyLinePlaceholder":6},[428,1085,1087,1090],{"class":430,"line":1086},27,[428,1088,1089],{"class":438},"  render",[428,1091,866],{"class":442},[428,1093,1095,1098,1101,1103,1105,1108,1110,1113,1116,1118,1120],{"class":430,"line":1094},28,[428,1096,1097],{"class":434},"    const",[428,1099,1100],{"class":442}," { ",[428,1102,1001],{"class":924},[428,1104,653],{"class":442},[428,1106,1107],{"class":924},"loading",[428,1109,753],{"class":442},[428,1111,1112],{"class":463},"=",[428,1114,1115],{"class":800}," this",[428,1117,506],{"class":442},[428,1119,817],{"class":459},[428,1121,471],{"class":442},[428,1123,1125],{"class":430,"line":1124},29,[428,1126,633],{"emptyLinePlaceholder":6},[428,1128,1130,1133,1135,1137,1139,1142,1145,1149,1152,1155,1158,1160,1162],{"class":430,"line":1129},30,[428,1131,1132],{"class":477},"    if",[428,1134,481],{"class":442},[428,1136,1107],{"class":459},[428,1138,659],{"class":442},[428,1140,1141],{"class":477},"return",[428,1143,500],{"class":1144},"skpqk",[428,1146,1148],{"class":1147},"sq2bZ","div",[428,1150,1151],{"class":1144},">",[428,1153,1154],{"class":442},"Загрузка...",[428,1156,1157],{"class":1144},"\u003C\u002F",[428,1159,1148],{"class":1147},[428,1161,1151],{"class":1144},[428,1163,471],{"class":442},[428,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1188,1190,1192,1194],{"class":430,"line":1166},31,[428,1168,1132],{"class":477},[428,1170,481],{"class":442},[428,1172,597],{"class":463},[428,1174,1001],{"class":459},[428,1176,659],{"class":442},[428,1178,1141],{"class":477},[428,1180,500],{"class":1144},[428,1182,1148],{"class":1147},[428,1184,1151],{"class":1144},[428,1186,1187],{"class":442},"Пользователь не найден",[428,1189,1157],{"class":1144},[428,1191,1148],{"class":1147},[428,1193,1151],{"class":1144},[428,1195,471],{"class":442},[428,1197,1199],{"class":430,"line":1198},32,[428,1200,633],{"emptyLinePlaceholder":6},[428,1202,1204,1206],{"class":430,"line":1203},33,[428,1205,620],{"class":477},[428,1207,1208],{"class":442}," (\n",[428,1210,1212,1215,1217],{"class":430,"line":1211},34,[428,1213,1214],{"class":1144},"      \u003C",[428,1216,1148],{"class":1147},[428,1218,1219],{"class":1144},">\n",[428,1221,1223,1226,1229,1231,1235,1237,1239,1242,1244,1246,1248],{"class":430,"line":1222},35,[428,1224,1225],{"class":1144},"        \u003C",[428,1227,1228],{"class":1147},"h1",[428,1230,1151],{"class":1144},[428,1232,1234],{"class":1233},"stLzX","{",[428,1236,1001],{"class":459},[428,1238,506],{"class":442},[428,1240,1241],{"class":459},"name",[428,1243,958],{"class":1233},[428,1245,1157],{"class":1144},[428,1247,1228],{"class":1147},[428,1249,1219],{"class":1144},[428,1251,1253,1255,1257,1259,1261,1263,1265,1268,1270,1272,1274],{"class":430,"line":1252},36,[428,1254,1225],{"class":1144},[428,1256,397],{"class":1147},[428,1258,1151],{"class":1144},[428,1260,1234],{"class":1233},[428,1262,1001],{"class":459},[428,1264,506],{"class":442},[428,1266,1267],{"class":459},"email",[428,1269,958],{"class":1233},[428,1271,1157],{"class":1144},[428,1273,397],{"class":1147},[428,1275,1219],{"class":1144},[428,1277,1279,1282,1284],{"class":430,"line":1278},37,[428,1280,1281],{"class":1144},"      \u003C\u002F",[428,1283,1148],{"class":1147},[428,1285,1219],{"class":1144},[428,1287,1289],{"class":430,"line":1288},38,[428,1290,1291],{"class":442},"    );\n",[428,1293,1295],{"class":430,"line":1294},39,[428,1296,549],{"class":442},[428,1298,1300],{"class":430,"line":1299},40,[428,1301,565],{"class":442},[397,1303,1304],{},[409,1305,1306],{},"Файл B (Функциональный Компонент с Хуками):",[418,1308,1310],{"className":732,"code":1309,"language":734,"meta":423,"style":423},"import React, { useState, useEffect } from 'react';\n\nconst UserProfile = ({ userId }) => {\n  const [user, setUser] = useState(null);\n  const [loading, setLoading] = useState(true);\n\n  useEffect(() => {\n    const fetchUser = async () => {\n      try {\n        const response = await fetch(`\u002Fapi\u002Fusers\u002F${userId}`);\n        const userData = await response.json();\n        setUser(userData);\n      } catch (error) {\n        console.error('Error fetching user:', error);\n      } finally {\n        setLoading(false);\n      }\n    };\n\n    fetchUser();\n  }, [userId]);\n\n  if (loading) return \u003Cdiv>Загрузка...\u003C\u002Fdiv>;\n  if (!user) return \u003Cdiv>Пользователь не найден\u003C\u002Fdiv>;\n\n  return (\n    \u003Cdiv>\n      \u003Ch1>{user.name}\u003C\u002Fh1>\n      \u003Cp>{user.email}\u003C\u002Fp>\n    \u003C\u002Fdiv>\n  );\n};\n",[425,1311,1312,1336,1340,1361,1391,1417,1421,1433,1450,1457,1484,1503,1515,1528,1547,1556,1568,1573,1577,1581,1588,1598,1602,1630,1660,1664,1670,1679,1703,1727,1736,1741],{"__ignoreMap":423},[428,1313,1314,1316,1318,1320,1323,1325,1328,1330,1332,1334],{"class":430,"line":431},[428,1315,741],{"class":477},[428,1317,744],{"class":459},[428,1319,747],{"class":442},[428,1321,1322],{"class":459},"useState",[428,1324,653],{"class":442},[428,1326,1327],{"class":459},"useEffect",[428,1329,753],{"class":442},[428,1331,756],{"class":477},[428,1333,760],{"class":759},[428,1335,471],{"class":442},[428,1337,1338],{"class":430,"line":453},[428,1339,633],{"emptyLinePlaceholder":6},[428,1341,1342,1345,1347,1349,1352,1354,1357,1359],{"class":430,"line":474},[428,1343,1344],{"class":434},"const",[428,1346,775],{"class":438},[428,1348,464],{"class":463},[428,1350,1351],{"class":442}," ({ ",[428,1353,955],{"class":446},[428,1355,1356],{"class":442}," }) ",[428,1358,662],{"class":434},[428,1360,665],{"class":442},[428,1362,1363,1366,1369,1371,1373,1376,1379,1381,1384,1386,1389],{"class":430,"line":522},[428,1364,1365],{"class":434},"  const",[428,1367,1368],{"class":442}," [",[428,1370,1001],{"class":924},[428,1372,653],{"class":442},[428,1374,1375],{"class":924},"setUser",[428,1377,1378],{"class":442},"] ",[428,1380,1112],{"class":463},[428,1382,1383],{"class":438}," useState",[428,1385,443],{"class":442},[428,1387,1388],{"class":800},"null",[428,1390,689],{"class":442},[428,1392,1393,1395,1397,1399,1401,1404,1406,1408,1410,1412,1415],{"class":430,"line":546},[428,1394,1365],{"class":434},[428,1396,1368],{"class":442},[428,1398,1107],{"class":924},[428,1400,653],{"class":442},[428,1402,1403],{"class":924},"setLoading",[428,1405,1378],{"class":442},[428,1407,1112],{"class":463},[428,1409,1383],{"class":438},[428,1411,443],{"class":442},[428,1413,1414],{"class":800},"true",[428,1416,689],{"class":442},[428,1418,1419],{"class":430,"line":552},[428,1420,633],{"emptyLinePlaceholder":6},[428,1422,1423,1426,1429,1431],{"class":430,"line":562},[428,1424,1425],{"class":438},"  useEffect",[428,1427,1428],{"class":442},"(() ",[428,1430,662],{"class":434},[428,1432,665],{"class":442},[428,1434,1435,1437,1440,1442,1444,1446,1448],{"class":430,"line":692},[428,1436,1097],{"class":434},[428,1438,1439],{"class":438}," fetchUser",[428,1441,464],{"class":463},[428,1443,900],{"class":434},[428,1445,903],{"class":442},[428,1447,662],{"class":434},[428,1449,665],{"class":442},[428,1451,1452,1455],{"class":430,"line":703},[428,1453,1454],{"class":477},"      try",[428,1456,665],{"class":442},[428,1458,1459,1462,1464,1466,1468,1470,1472,1474,1476,1478,1480,1482],{"class":430,"line":850},[428,1460,1461],{"class":434},"        const",[428,1463,925],{"class":924},[428,1465,464],{"class":463},[428,1467,930],{"class":477},[428,1469,933],{"class":438},[428,1471,443],{"class":442},[428,1473,938],{"class":759},[428,1475,942],{"class":941},[428,1477,955],{"class":459},[428,1479,958],{"class":941},[428,1481,961],{"class":759},[428,1483,689],{"class":442},[428,1485,1486,1488,1491,1493,1495,1497,1499,1501],{"class":430,"line":855},[428,1487,1461],{"class":434},[428,1489,1490],{"class":924}," userData",[428,1492,464],{"class":463},[428,1494,930],{"class":477},[428,1496,925],{"class":459},[428,1498,506],{"class":442},[428,1500,982],{"class":438},[428,1502,879],{"class":442},[428,1504,1505,1508,1510,1513],{"class":430,"line":860},[428,1506,1507],{"class":438},"        setUser",[428,1509,443],{"class":442},[428,1511,1512],{"class":459},"userData",[428,1514,689],{"class":442},[428,1516,1517,1520,1522,1524,1526],{"class":430,"line":869},[428,1518,1519],{"class":442},"      } ",[428,1521,1021],{"class":477},[428,1523,481],{"class":442},[428,1525,1026],{"class":459},[428,1527,450],{"class":442},[428,1529,1530,1533,1535,1537,1539,1541,1543,1545],{"class":430,"line":882},[428,1531,1532],{"class":459},"        console",[428,1534,506],{"class":442},[428,1536,1026],{"class":438},[428,1538,443],{"class":442},[428,1540,1043],{"class":759},[428,1542,653],{"class":442},[428,1544,1026],{"class":459},[428,1546,689],{"class":442},[428,1548,1549,1551,1554],{"class":430,"line":887},[428,1550,1519],{"class":442},[428,1552,1553],{"class":477},"finally",[428,1555,665],{"class":442},[428,1557,1558,1561,1563,1566],{"class":430,"line":892},[428,1559,1560],{"class":438},"        setLoading",[428,1562,443],{"class":442},[428,1564,1565],{"class":800},"false",[428,1567,689],{"class":442},[428,1569,1570],{"class":430,"line":910},[428,1571,1572],{"class":442},"      }\n",[428,1574,1575],{"class":430,"line":918},[428,1576,847],{"class":442},[428,1578,1579],{"class":430,"line":966},[428,1580,633],{"emptyLinePlaceholder":6},[428,1582,1583,1586],{"class":430,"line":987},[428,1584,1585],{"class":438},"    fetchUser",[428,1587,879],{"class":442},[428,1589,1590,1593,1595],{"class":430,"line":1015},[428,1591,1592],{"class":442},"  }, [",[428,1594,955],{"class":459},[428,1596,1597],{"class":442},"]);\n",[428,1599,1600],{"class":430,"line":1031},[428,1601,633],{"emptyLinePlaceholder":6},[428,1603,1604,1606,1608,1610,1612,1614,1616,1618,1620,1622,1624,1626,1628],{"class":430,"line":1052},[428,1605,592],{"class":477},[428,1607,481],{"class":442},[428,1609,1107],{"class":459},[428,1611,659],{"class":442},[428,1613,1141],{"class":477},[428,1615,500],{"class":1144},[428,1617,1148],{"class":1147},[428,1619,1151],{"class":1144},[428,1621,1154],{"class":442},[428,1623,1157],{"class":1144},[428,1625,1148],{"class":1147},[428,1627,1151],{"class":1144},[428,1629,471],{"class":442},[428,1631,1632,1634,1636,1638,1640,1642,1644,1646,1648,1650,1652,1654,1656,1658],{"class":430,"line":1069},[428,1633,592],{"class":477},[428,1635,481],{"class":442},[428,1637,597],{"class":463},[428,1639,1001],{"class":459},[428,1641,659],{"class":442},[428,1643,1141],{"class":477},[428,1645,500],{"class":1144},[428,1647,1148],{"class":1147},[428,1649,1151],{"class":1144},[428,1651,1187],{"class":442},[428,1653,1157],{"class":1144},[428,1655,1148],{"class":1147},[428,1657,1151],{"class":1144},[428,1659,471],{"class":442},[428,1661,1662],{"class":430,"line":1075},[428,1663,633],{"emptyLinePlaceholder":6},[428,1665,1666,1668],{"class":430,"line":1081},[428,1667,555],{"class":477},[428,1669,1208],{"class":442},[428,1671,1672,1675,1677],{"class":430,"line":1086},[428,1673,1674],{"class":1144},"    \u003C",[428,1676,1148],{"class":1147},[428,1678,1219],{"class":1144},[428,1680,1681,1683,1685,1687,1689,1691,1693,1695,1697,1699,1701],{"class":430,"line":1094},[428,1682,1214],{"class":1144},[428,1684,1228],{"class":1147},[428,1686,1151],{"class":1144},[428,1688,1234],{"class":1233},[428,1690,1001],{"class":459},[428,1692,506],{"class":442},[428,1694,1241],{"class":459},[428,1696,958],{"class":1233},[428,1698,1157],{"class":1144},[428,1700,1228],{"class":1147},[428,1702,1219],{"class":1144},[428,1704,1705,1707,1709,1711,1713,1715,1717,1719,1721,1723,1725],{"class":430,"line":1124},[428,1706,1214],{"class":1144},[428,1708,397],{"class":1147},[428,1710,1151],{"class":1144},[428,1712,1234],{"class":1233},[428,1714,1001],{"class":459},[428,1716,506],{"class":442},[428,1718,1267],{"class":459},[428,1720,958],{"class":1233},[428,1722,1157],{"class":1144},[428,1724,397],{"class":1147},[428,1726,1219],{"class":1144},[428,1728,1729,1732,1734],{"class":430,"line":1129},[428,1730,1731],{"class":1144},"    \u003C\u002F",[428,1733,1148],{"class":1147},[428,1735,1219],{"class":1144},[428,1737,1738],{"class":430,"line":1166},[428,1739,1740],{"class":442},"  );\n",[428,1742,1743],{"class":430,"line":1198},[428,1744,1745],{"class":442},"};\n",[392,1747,1749],{"id":1748},"управление-конфигурацией","Управление Конфигурацией",[405,1751,1753],{"id":1752},"конфигурация-docker-compose",[409,1754,1755],{},"Конфигурация Docker Compose",[397,1757,1758],{},[409,1759,1760],{},"Файл A (Разработка):",[418,1762,1766],{"className":1763,"code":1764,"language":1765,"meta":423,"style":423},"language-yaml shiki shiki-themes github-light github-light dark-plus","version: '3.8'\nservices:\n  web:\n    build: .\n    ports:\n      - '3000:3000'\n    environment:\n      - NODE_ENV=development\n      - DATABASE_URL=postgresql:\u002F\u002Flocalhost:5432\u002Fmyapp_dev\n    volumes:\n      - .:\u002Fapp\n      - \u002Fapp\u002Fnode_modules\n\n  database:\n    image: postgres:13\n    environment:\n      - POSTGRES_DB=myapp_dev\n      - POSTGRES_USER=dev\n      - POSTGRES_PASSWORD=dev123\n    ports:\n      - '5432:5432'\n","yaml",[425,1767,1768,1779,1787,1794,1804,1811,1819,1826,1833,1840,1847,1854,1861,1865,1872,1882,1888,1895,1902,1909,1915],{"__ignoreMap":423},[428,1769,1770,1773,1776],{"class":430,"line":431},[428,1771,1772],{"class":1147},"version",[428,1774,1775],{"class":442},": ",[428,1777,1778],{"class":759},"'3.8'\n",[428,1780,1781,1784],{"class":430,"line":453},[428,1782,1783],{"class":1147},"services",[428,1785,1786],{"class":442},":\n",[428,1788,1789,1792],{"class":430,"line":474},[428,1790,1791],{"class":1147},"  web",[428,1793,1786],{"class":442},[428,1795,1796,1799,1801],{"class":430,"line":522},[428,1797,1798],{"class":1147},"    build",[428,1800,1775],{"class":442},[428,1802,1803],{"class":467},".\n",[428,1805,1806,1809],{"class":430,"line":546},[428,1807,1808],{"class":1147},"    ports",[428,1810,1786],{"class":442},[428,1812,1813,1816],{"class":430,"line":552},[428,1814,1815],{"class":442},"      - ",[428,1817,1818],{"class":759},"'3000:3000'\n",[428,1820,1821,1824],{"class":430,"line":562},[428,1822,1823],{"class":1147},"    environment",[428,1825,1786],{"class":442},[428,1827,1828,1830],{"class":430,"line":692},[428,1829,1815],{"class":442},[428,1831,1832],{"class":759},"NODE_ENV=development\n",[428,1834,1835,1837],{"class":430,"line":703},[428,1836,1815],{"class":442},[428,1838,1839],{"class":759},"DATABASE_URL=postgresql:\u002F\u002Flocalhost:5432\u002Fmyapp_dev\n",[428,1841,1842,1845],{"class":430,"line":850},[428,1843,1844],{"class":1147},"    volumes",[428,1846,1786],{"class":442},[428,1848,1849,1851],{"class":430,"line":855},[428,1850,1815],{"class":442},[428,1852,1853],{"class":759},".:\u002Fapp\n",[428,1855,1856,1858],{"class":430,"line":860},[428,1857,1815],{"class":442},[428,1859,1860],{"class":759},"\u002Fapp\u002Fnode_modules\n",[428,1862,1863],{"class":430,"line":869},[428,1864,633],{"emptyLinePlaceholder":6},[428,1866,1867,1870],{"class":430,"line":882},[428,1868,1869],{"class":1147},"  database",[428,1871,1786],{"class":442},[428,1873,1874,1877,1879],{"class":430,"line":887},[428,1875,1876],{"class":1147},"    image",[428,1878,1775],{"class":442},[428,1880,1881],{"class":759},"postgres:13\n",[428,1883,1884,1886],{"class":430,"line":892},[428,1885,1823],{"class":1147},[428,1887,1786],{"class":442},[428,1889,1890,1892],{"class":430,"line":910},[428,1891,1815],{"class":442},[428,1893,1894],{"class":759},"POSTGRES_DB=myapp_dev\n",[428,1896,1897,1899],{"class":430,"line":918},[428,1898,1815],{"class":442},[428,1900,1901],{"class":759},"POSTGRES_USER=dev\n",[428,1903,1904,1906],{"class":430,"line":966},[428,1905,1815],{"class":442},[428,1907,1908],{"class":759},"POSTGRES_PASSWORD=dev123\n",[428,1910,1911,1913],{"class":430,"line":987},[428,1912,1808],{"class":1147},[428,1914,1786],{"class":442},[428,1916,1917,1919],{"class":430,"line":1015},[428,1918,1815],{"class":442},[428,1920,1921],{"class":759},"'5432:5432'\n",[397,1923,1924],{},[409,1925,1926],{},"Файл B (Продакшн):",[418,1928,1930],{"className":1763,"code":1929,"language":1765,"meta":423,"style":423},"version: '3.8'\nservices:\n  web:\n    build: .\n    ports:\n      - '80:3000'\n    environment:\n      - NODE_ENV=production\n      - DATABASE_URL=${DATABASE_URL}\n    restart: unless-stopped\n    depends_on:\n      - database\n\n  database:\n    image: postgres:13\n    environment:\n      - POSTGRES_DB=${POSTGRES_DB}\n      - POSTGRES_USER=${POSTGRES_USER}\n      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}\n    volumes:\n      - postgres_data:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\n    restart: unless-stopped\n\nvolumes:\n  postgres_data:\n",[425,1931,1932,1940,1946,1952,1960,1966,1973,1979,1986,1993,2003,2010,2017,2021,2027,2035,2041,2048,2055,2062,2068,2075,2083,2087,2094],{"__ignoreMap":423},[428,1933,1934,1936,1938],{"class":430,"line":431},[428,1935,1772],{"class":1147},[428,1937,1775],{"class":442},[428,1939,1778],{"class":759},[428,1941,1942,1944],{"class":430,"line":453},[428,1943,1783],{"class":1147},[428,1945,1786],{"class":442},[428,1947,1948,1950],{"class":430,"line":474},[428,1949,1791],{"class":1147},[428,1951,1786],{"class":442},[428,1953,1954,1956,1958],{"class":430,"line":522},[428,1955,1798],{"class":1147},[428,1957,1775],{"class":442},[428,1959,1803],{"class":467},[428,1961,1962,1964],{"class":430,"line":546},[428,1963,1808],{"class":1147},[428,1965,1786],{"class":442},[428,1967,1968,1970],{"class":430,"line":552},[428,1969,1815],{"class":442},[428,1971,1972],{"class":759},"'80:3000'\n",[428,1974,1975,1977],{"class":430,"line":562},[428,1976,1823],{"class":1147},[428,1978,1786],{"class":442},[428,1980,1981,1983],{"class":430,"line":692},[428,1982,1815],{"class":442},[428,1984,1985],{"class":759},"NODE_ENV=production\n",[428,1987,1988,1990],{"class":430,"line":703},[428,1989,1815],{"class":442},[428,1991,1992],{"class":759},"DATABASE_URL=${DATABASE_URL}\n",[428,1994,1995,1998,2000],{"class":430,"line":850},[428,1996,1997],{"class":1147},"    restart",[428,1999,1775],{"class":442},[428,2001,2002],{"class":759},"unless-stopped\n",[428,2004,2005,2008],{"class":430,"line":855},[428,2006,2007],{"class":1147},"    depends_on",[428,2009,1786],{"class":442},[428,2011,2012,2014],{"class":430,"line":860},[428,2013,1815],{"class":442},[428,2015,2016],{"class":759},"database\n",[428,2018,2019],{"class":430,"line":869},[428,2020,633],{"emptyLinePlaceholder":6},[428,2022,2023,2025],{"class":430,"line":882},[428,2024,1869],{"class":1147},[428,2026,1786],{"class":442},[428,2028,2029,2031,2033],{"class":430,"line":887},[428,2030,1876],{"class":1147},[428,2032,1775],{"class":442},[428,2034,1881],{"class":759},[428,2036,2037,2039],{"class":430,"line":892},[428,2038,1823],{"class":1147},[428,2040,1786],{"class":442},[428,2042,2043,2045],{"class":430,"line":910},[428,2044,1815],{"class":442},[428,2046,2047],{"class":759},"POSTGRES_DB=${POSTGRES_DB}\n",[428,2049,2050,2052],{"class":430,"line":918},[428,2051,1815],{"class":442},[428,2053,2054],{"class":759},"POSTGRES_USER=${POSTGRES_USER}\n",[428,2056,2057,2059],{"class":430,"line":966},[428,2058,1815],{"class":442},[428,2060,2061],{"class":759},"POSTGRES_PASSWORD=${POSTGRES_PASSWORD}\n",[428,2063,2064,2066],{"class":430,"line":987},[428,2065,1844],{"class":1147},[428,2067,1786],{"class":442},[428,2069,2070,2072],{"class":430,"line":1015},[428,2071,1815],{"class":442},[428,2073,2074],{"class":759},"postgres_data:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\n",[428,2076,2077,2079,2081],{"class":430,"line":1031},[428,2078,1997],{"class":1147},[428,2080,1775],{"class":442},[428,2082,2002],{"class":759},[428,2084,2085],{"class":430,"line":1052},[428,2086,633],{"emptyLinePlaceholder":6},[428,2088,2089,2092],{"class":430,"line":1069},[428,2090,2091],{"class":1147},"volumes",[428,2093,1786],{"class":442},[428,2095,2096,2099],{"class":430,"line":1075},[428,2097,2098],{"class":1147},"  postgres_data",[428,2100,1786],{"class":442},[405,2102,2104],{"id":2103},"зависимости-packagejson",[409,2105,2106],{},"Зависимости Package.json",[397,2108,2109],{},[409,2110,2111],{},"Файл A (До Обновления):",[418,2113,2116],{"className":2114,"code":2115,"language":982,"meta":423,"style":423},"language-json shiki shiki-themes github-light github-light dark-plus","{\n  \"dependencies\": {\n    \"react\": \"^17.0.2\",\n    \"react-dom\": \"^17.0.2\",\n    \"axios\": \"^0.21.1\",\n    \"lodash\": \"^4.17.20\"\n  },\n  \"devDependencies\": {\n    \"@types\u002Freact\": \"^17.0.0\",\n    \"typescript\": \"^4.2.3\",\n    \"webpack\": \"^5.24.0\"\n  }\n}\n",[425,2117,2118,2123,2131,2143,2154,2166,2176,2181,2188,2200,2212,2222,2226],{"__ignoreMap":423},[428,2119,2120],{"class":430,"line":431},[428,2121,2122],{"class":442},"{\n",[428,2124,2125,2128],{"class":430,"line":453},[428,2126,2127],{"class":509},"  \"dependencies\"",[428,2129,2130],{"class":442},": {\n",[428,2132,2133,2136,2138,2141],{"class":430,"line":474},[428,2134,2135],{"class":509},"    \"react\"",[428,2137,1775],{"class":442},[428,2139,2140],{"class":759},"\"^17.0.2\"",[428,2142,832],{"class":442},[428,2144,2145,2148,2150,2152],{"class":430,"line":522},[428,2146,2147],{"class":509},"    \"react-dom\"",[428,2149,1775],{"class":442},[428,2151,2140],{"class":759},[428,2153,832],{"class":442},[428,2155,2156,2159,2161,2164],{"class":430,"line":546},[428,2157,2158],{"class":509},"    \"axios\"",[428,2160,1775],{"class":442},[428,2162,2163],{"class":759},"\"^0.21.1\"",[428,2165,832],{"class":442},[428,2167,2168,2171,2173],{"class":430,"line":552},[428,2169,2170],{"class":509},"    \"lodash\"",[428,2172,1775],{"class":442},[428,2174,2175],{"class":759},"\"^4.17.20\"\n",[428,2177,2178],{"class":430,"line":562},[428,2179,2180],{"class":442},"  },\n",[428,2182,2183,2186],{"class":430,"line":692},[428,2184,2185],{"class":509},"  \"devDependencies\"",[428,2187,2130],{"class":442},[428,2189,2190,2193,2195,2198],{"class":430,"line":703},[428,2191,2192],{"class":509},"    \"@types\u002Freact\"",[428,2194,1775],{"class":442},[428,2196,2197],{"class":759},"\"^17.0.0\"",[428,2199,832],{"class":442},[428,2201,2202,2205,2207,2210],{"class":430,"line":850},[428,2203,2204],{"class":509},"    \"typescript\"",[428,2206,1775],{"class":442},[428,2208,2209],{"class":759},"\"^4.2.3\"",[428,2211,832],{"class":442},[428,2213,2214,2217,2219],{"class":430,"line":855},[428,2215,2216],{"class":509},"    \"webpack\"",[428,2218,1775],{"class":442},[428,2220,2221],{"class":759},"\"^5.24.0\"\n",[428,2223,2224],{"class":430,"line":860},[428,2225,549],{"class":442},[428,2227,2228],{"class":430,"line":869},[428,2229,565],{"class":442},[397,2231,2232],{},[409,2233,2234],{},"Файл B (После Обновления):",[418,2236,2238],{"className":2114,"code":2237,"language":982,"meta":423,"style":423},"{\n  \"dependencies\": {\n    \"react\": \"^18.0.0\",\n    \"react-dom\": \"^18.0.0\",\n    \"axios\": \"^1.3.0\",\n    \"lodash\": \"^4.17.21\"\n  },\n  \"devDependencies\": {\n    \"@types\u002Freact\": \"^18.0.0\",\n    \"typescript\": \"^4.9.0\",\n    \"webpack\": \"^5.75.0\",\n    \"vite\": \"^4.0.0\"\n  }\n}\n",[425,2239,2240,2244,2250,2261,2271,2282,2291,2295,2301,2311,2322,2333,2343,2347],{"__ignoreMap":423},[428,2241,2242],{"class":430,"line":431},[428,2243,2122],{"class":442},[428,2245,2246,2248],{"class":430,"line":453},[428,2247,2127],{"class":509},[428,2249,2130],{"class":442},[428,2251,2252,2254,2256,2259],{"class":430,"line":474},[428,2253,2135],{"class":509},[428,2255,1775],{"class":442},[428,2257,2258],{"class":759},"\"^18.0.0\"",[428,2260,832],{"class":442},[428,2262,2263,2265,2267,2269],{"class":430,"line":522},[428,2264,2147],{"class":509},[428,2266,1775],{"class":442},[428,2268,2258],{"class":759},[428,2270,832],{"class":442},[428,2272,2273,2275,2277,2280],{"class":430,"line":546},[428,2274,2158],{"class":509},[428,2276,1775],{"class":442},[428,2278,2279],{"class":759},"\"^1.3.0\"",[428,2281,832],{"class":442},[428,2283,2284,2286,2288],{"class":430,"line":552},[428,2285,2170],{"class":509},[428,2287,1775],{"class":442},[428,2289,2290],{"class":759},"\"^4.17.21\"\n",[428,2292,2293],{"class":430,"line":562},[428,2294,2180],{"class":442},[428,2296,2297,2299],{"class":430,"line":692},[428,2298,2185],{"class":509},[428,2300,2130],{"class":442},[428,2302,2303,2305,2307,2309],{"class":430,"line":703},[428,2304,2192],{"class":509},[428,2306,1775],{"class":442},[428,2308,2258],{"class":759},[428,2310,832],{"class":442},[428,2312,2313,2315,2317,2320],{"class":430,"line":850},[428,2314,2204],{"class":509},[428,2316,1775],{"class":442},[428,2318,2319],{"class":759},"\"^4.9.0\"",[428,2321,832],{"class":442},[428,2323,2324,2326,2328,2331],{"class":430,"line":855},[428,2325,2216],{"class":509},[428,2327,1775],{"class":442},[428,2329,2330],{"class":759},"\"^5.75.0\"",[428,2332,832],{"class":442},[428,2334,2335,2338,2340],{"class":430,"line":860},[428,2336,2337],{"class":509},"    \"vite\"",[428,2339,1775],{"class":442},[428,2341,2342],{"class":759},"\"^4.0.0\"\n",[428,2344,2345],{"class":430,"line":869},[428,2346,549],{"class":442},[428,2348,2349],{"class":430,"line":882},[428,2350,565],{"class":442},[392,2352,2354],{"id":2353},"разработка-api","Разработка API",[405,2356,2358],{"id":2357},"спецификация-openapi",[409,2359,2360],{},"Спецификация OpenAPI",[397,2362,2363],{},[409,2364,2365],{},"Файл A (Версия 1.0):",[418,2367,2369],{"className":1763,"code":2368,"language":1765,"meta":423,"style":423},"openapi: 3.0.0\ninfo:\n  title: User API\n  version: 1.0.0\n  description: API для управления пользователями\n\npaths:\n  \u002Fusers:\n    get:\n      summary: Получить всех пользователей\n      responses:\n        '200':\n          description: Список пользователей\n          content:\n            application\u002Fjson:\n              schema:\n                type: array\n                items:\n                  $ref: '#\u002Fcomponents\u002Fschemas\u002FUser'\n\ncomponents:\n  schemas:\n    User:\n      type: object\n      properties:\n        id:\n          type: integer\n        name:\n          type: string\n        email:\n          type: string\n",[425,2370,2371,2381,2388,2398,2408,2418,2422,2429,2436,2443,2453,2460,2467,2477,2484,2491,2498,2508,2515,2525,2529,2536,2543,2550,2560,2567,2574,2584,2591,2600,2607],{"__ignoreMap":423},[428,2372,2373,2376,2378],{"class":430,"line":431},[428,2374,2375],{"class":1147},"openapi",[428,2377,1775],{"class":442},[428,2379,2380],{"class":467},"3.0.0\n",[428,2382,2383,2386],{"class":430,"line":453},[428,2384,2385],{"class":1147},"info",[428,2387,1786],{"class":442},[428,2389,2390,2393,2395],{"class":430,"line":474},[428,2391,2392],{"class":1147},"  title",[428,2394,1775],{"class":442},[428,2396,2397],{"class":759},"User API\n",[428,2399,2400,2403,2405],{"class":430,"line":522},[428,2401,2402],{"class":1147},"  version",[428,2404,1775],{"class":442},[428,2406,2407],{"class":467},"1.0.0\n",[428,2409,2410,2413,2415],{"class":430,"line":546},[428,2411,2412],{"class":1147},"  description",[428,2414,1775],{"class":442},[428,2416,2417],{"class":759},"API для управления пользователями\n",[428,2419,2420],{"class":430,"line":552},[428,2421,633],{"emptyLinePlaceholder":6},[428,2423,2424,2427],{"class":430,"line":562},[428,2425,2426],{"class":1147},"paths",[428,2428,1786],{"class":442},[428,2430,2431,2434],{"class":430,"line":692},[428,2432,2433],{"class":1147},"  \u002Fusers",[428,2435,1786],{"class":442},[428,2437,2438,2441],{"class":430,"line":703},[428,2439,2440],{"class":1147},"    get",[428,2442,1786],{"class":442},[428,2444,2445,2448,2450],{"class":430,"line":850},[428,2446,2447],{"class":1147},"      summary",[428,2449,1775],{"class":442},[428,2451,2452],{"class":759},"Получить всех пользователей\n",[428,2454,2455,2458],{"class":430,"line":855},[428,2456,2457],{"class":1147},"      responses",[428,2459,1786],{"class":442},[428,2461,2462,2465],{"class":430,"line":860},[428,2463,2464],{"class":759},"        '200'",[428,2466,1786],{"class":442},[428,2468,2469,2472,2474],{"class":430,"line":869},[428,2470,2471],{"class":1147},"          description",[428,2473,1775],{"class":442},[428,2475,2476],{"class":759},"Список пользователей\n",[428,2478,2479,2482],{"class":430,"line":882},[428,2480,2481],{"class":1147},"          content",[428,2483,1786],{"class":442},[428,2485,2486,2489],{"class":430,"line":887},[428,2487,2488],{"class":1147},"            application\u002Fjson",[428,2490,1786],{"class":442},[428,2492,2493,2496],{"class":430,"line":892},[428,2494,2495],{"class":1147},"              schema",[428,2497,1786],{"class":442},[428,2499,2500,2503,2505],{"class":430,"line":910},[428,2501,2502],{"class":1147},"                type",[428,2504,1775],{"class":442},[428,2506,2507],{"class":759},"array\n",[428,2509,2510,2513],{"class":430,"line":918},[428,2511,2512],{"class":1147},"                items",[428,2514,1786],{"class":442},[428,2516,2517,2520,2522],{"class":430,"line":966},[428,2518,2519],{"class":1147},"                  $ref",[428,2521,1775],{"class":442},[428,2523,2524],{"class":759},"'#\u002Fcomponents\u002Fschemas\u002FUser'\n",[428,2526,2527],{"class":430,"line":987},[428,2528,633],{"emptyLinePlaceholder":6},[428,2530,2531,2534],{"class":430,"line":1015},[428,2532,2533],{"class":1147},"components",[428,2535,1786],{"class":442},[428,2537,2538,2541],{"class":430,"line":1031},[428,2539,2540],{"class":1147},"  schemas",[428,2542,1786],{"class":442},[428,2544,2545,2548],{"class":430,"line":1052},[428,2546,2547],{"class":1147},"    User",[428,2549,1786],{"class":442},[428,2551,2552,2555,2557],{"class":430,"line":1069},[428,2553,2554],{"class":1147},"      type",[428,2556,1775],{"class":442},[428,2558,2559],{"class":759},"object\n",[428,2561,2562,2565],{"class":430,"line":1075},[428,2563,2564],{"class":1147},"      properties",[428,2566,1786],{"class":442},[428,2568,2569,2572],{"class":430,"line":1081},[428,2570,2571],{"class":1147},"        id",[428,2573,1786],{"class":442},[428,2575,2576,2579,2581],{"class":430,"line":1086},[428,2577,2578],{"class":1147},"          type",[428,2580,1775],{"class":442},[428,2582,2583],{"class":759},"integer\n",[428,2585,2586,2589],{"class":430,"line":1094},[428,2587,2588],{"class":1147},"        name",[428,2590,1786],{"class":442},[428,2592,2593,2595,2597],{"class":430,"line":1124},[428,2594,2578],{"class":1147},[428,2596,1775],{"class":442},[428,2598,2599],{"class":759},"string\n",[428,2601,2602,2605],{"class":430,"line":1129},[428,2603,2604],{"class":1147},"        email",[428,2606,1786],{"class":442},[428,2608,2609,2611,2613],{"class":430,"line":1166},[428,2610,2578],{"class":1147},[428,2612,1775],{"class":442},[428,2614,2599],{"class":759},[397,2616,2617],{},[409,2618,2619],{},"Файл B (Версия 2.0):",[418,2621,2623],{"className":1763,"code":2622,"language":1765,"meta":423,"style":423},"openapi: 3.0.0\ninfo:\n  title: User API\n  version: 2.0.0\n  description: Улучшенная API для управления пользователями\n\npaths:\n  \u002Fusers:\n    get:\n      summary: Получить всех пользователей\n      parameters:\n        - name: limit\n          in: query\n          schema:\n            type: integer\n            default: 10\n        - name: offset\n          in: query\n          schema:\n            type: integer\n            default: 0\n      responses:\n        '200':\n          description: Пагинированный список пользователей\n          content:\n            application\u002Fjson:\n              schema:\n                $ref: '#\u002Fcomponents\u002Fschemas\u002FUserList'\n        '400':\n          description: Неверный запрос\n          content:\n            application\u002Fjson:\n              schema:\n                $ref: '#\u002Fcomponents\u002Fschemas\u002FError'\n\n  \u002Fusers\u002F{id}:\n    get:\n      summary: Получить пользователя по ID\n      parameters:\n        - name: id\n          in: path\n          required: true\n          schema:\n            type: integer\n      responses:\n        '200':\n          description: Детали пользователя\n          content:\n            application\u002Fjson:\n              schema:\n                $ref: '#\u002Fcomponents\u002Fschemas\u002FUser'\n        '404':\n          description: Пользователь не найден\n\ncomponents:\n  schemas:\n    User:\n      type: object\n      properties:\n        id:\n          type: integer\n        name:\n          type: string\n        email:\n          type: string\n        createdAt:\n          type: string\n          format: date-time\n        updatedAt:\n          type: string\n          format: date-time\n    UserList:\n      type: object\n      properties:\n        users:\n          type: array\n          items:\n            $ref: '#\u002Fcomponents\u002Fschemas\u002FUser'\n        total:\n          type: integer\n        limit:\n          type: integer\n        offset:\n          type: integer\n    Error:\n      type: object\n      properties:\n        message:\n          type: string\n        code:\n          type: string\n",[425,2624,2625,2633,2639,2647,2656,2665,2669,2675,2681,2687,2695,2702,2714,2724,2731,2740,2750,2761,2769,2775,2783,2792,2798,2804,2813,2819,2825,2831,2841,2848,2857,2863,2869,2875,2884,2888,2895,2901,2910,2916,2927,2937,2948,2955,2964,2971,2978,2988,2995,3002,3009,3018,3026,3036,3041,3048,3055,3062,3071,3078,3085,3094,3101,3110,3117,3126,3134,3143,3154,3162,3171,3180,3188,3197,3204,3212,3221,3229,3239,3247,3256,3264,3273,3281,3290,3298,3307,3314,3322,3331,3339],{"__ignoreMap":423},[428,2626,2627,2629,2631],{"class":430,"line":431},[428,2628,2375],{"class":1147},[428,2630,1775],{"class":442},[428,2632,2380],{"class":467},[428,2634,2635,2637],{"class":430,"line":453},[428,2636,2385],{"class":1147},[428,2638,1786],{"class":442},[428,2640,2641,2643,2645],{"class":430,"line":474},[428,2642,2392],{"class":1147},[428,2644,1775],{"class":442},[428,2646,2397],{"class":759},[428,2648,2649,2651,2653],{"class":430,"line":522},[428,2650,2402],{"class":1147},[428,2652,1775],{"class":442},[428,2654,2655],{"class":467},"2.0.0\n",[428,2657,2658,2660,2662],{"class":430,"line":546},[428,2659,2412],{"class":1147},[428,2661,1775],{"class":442},[428,2663,2664],{"class":759},"Улучшенная API для управления пользователями\n",[428,2666,2667],{"class":430,"line":552},[428,2668,633],{"emptyLinePlaceholder":6},[428,2670,2671,2673],{"class":430,"line":562},[428,2672,2426],{"class":1147},[428,2674,1786],{"class":442},[428,2676,2677,2679],{"class":430,"line":692},[428,2678,2433],{"class":1147},[428,2680,1786],{"class":442},[428,2682,2683,2685],{"class":430,"line":703},[428,2684,2440],{"class":1147},[428,2686,1786],{"class":442},[428,2688,2689,2691,2693],{"class":430,"line":850},[428,2690,2447],{"class":1147},[428,2692,1775],{"class":442},[428,2694,2452],{"class":759},[428,2696,2697,2700],{"class":430,"line":855},[428,2698,2699],{"class":1147},"      parameters",[428,2701,1786],{"class":442},[428,2703,2704,2707,2709,2711],{"class":430,"line":860},[428,2705,2706],{"class":442},"        - ",[428,2708,1241],{"class":1147},[428,2710,1775],{"class":442},[428,2712,2713],{"class":759},"limit\n",[428,2715,2716,2719,2721],{"class":430,"line":869},[428,2717,2718],{"class":1147},"          in",[428,2720,1775],{"class":442},[428,2722,2723],{"class":759},"query\n",[428,2725,2726,2729],{"class":430,"line":882},[428,2727,2728],{"class":1147},"          schema",[428,2730,1786],{"class":442},[428,2732,2733,2736,2738],{"class":430,"line":887},[428,2734,2735],{"class":1147},"            type",[428,2737,1775],{"class":442},[428,2739,2583],{"class":759},[428,2741,2742,2745,2747],{"class":430,"line":892},[428,2743,2744],{"class":1147},"            default",[428,2746,1775],{"class":442},[428,2748,2749],{"class":467},"10\n",[428,2751,2752,2754,2756,2758],{"class":430,"line":910},[428,2753,2706],{"class":442},[428,2755,1241],{"class":1147},[428,2757,1775],{"class":442},[428,2759,2760],{"class":759},"offset\n",[428,2762,2763,2765,2767],{"class":430,"line":918},[428,2764,2718],{"class":1147},[428,2766,1775],{"class":442},[428,2768,2723],{"class":759},[428,2770,2771,2773],{"class":430,"line":966},[428,2772,2728],{"class":1147},[428,2774,1786],{"class":442},[428,2776,2777,2779,2781],{"class":430,"line":987},[428,2778,2735],{"class":1147},[428,2780,1775],{"class":442},[428,2782,2583],{"class":759},[428,2784,2785,2787,2789],{"class":430,"line":1015},[428,2786,2744],{"class":1147},[428,2788,1775],{"class":442},[428,2790,2791],{"class":467},"0\n",[428,2793,2794,2796],{"class":430,"line":1031},[428,2795,2457],{"class":1147},[428,2797,1786],{"class":442},[428,2799,2800,2802],{"class":430,"line":1052},[428,2801,2464],{"class":759},[428,2803,1786],{"class":442},[428,2805,2806,2808,2810],{"class":430,"line":1069},[428,2807,2471],{"class":1147},[428,2809,1775],{"class":442},[428,2811,2812],{"class":759},"Пагинированный список пользователей\n",[428,2814,2815,2817],{"class":430,"line":1075},[428,2816,2481],{"class":1147},[428,2818,1786],{"class":442},[428,2820,2821,2823],{"class":430,"line":1081},[428,2822,2488],{"class":1147},[428,2824,1786],{"class":442},[428,2826,2827,2829],{"class":430,"line":1086},[428,2828,2495],{"class":1147},[428,2830,1786],{"class":442},[428,2832,2833,2836,2838],{"class":430,"line":1094},[428,2834,2835],{"class":1147},"                $ref",[428,2837,1775],{"class":442},[428,2839,2840],{"class":759},"'#\u002Fcomponents\u002Fschemas\u002FUserList'\n",[428,2842,2843,2846],{"class":430,"line":1124},[428,2844,2845],{"class":759},"        '400'",[428,2847,1786],{"class":442},[428,2849,2850,2852,2854],{"class":430,"line":1129},[428,2851,2471],{"class":1147},[428,2853,1775],{"class":442},[428,2855,2856],{"class":759},"Неверный запрос\n",[428,2858,2859,2861],{"class":430,"line":1166},[428,2860,2481],{"class":1147},[428,2862,1786],{"class":442},[428,2864,2865,2867],{"class":430,"line":1198},[428,2866,2488],{"class":1147},[428,2868,1786],{"class":442},[428,2870,2871,2873],{"class":430,"line":1203},[428,2872,2495],{"class":1147},[428,2874,1786],{"class":442},[428,2876,2877,2879,2881],{"class":430,"line":1211},[428,2878,2835],{"class":1147},[428,2880,1775],{"class":442},[428,2882,2883],{"class":759},"'#\u002Fcomponents\u002Fschemas\u002FError'\n",[428,2885,2886],{"class":430,"line":1222},[428,2887,633],{"emptyLinePlaceholder":6},[428,2889,2890,2893],{"class":430,"line":1252},[428,2891,2892],{"class":1147},"  \u002Fusers\u002F{id}",[428,2894,1786],{"class":442},[428,2896,2897,2899],{"class":430,"line":1278},[428,2898,2440],{"class":1147},[428,2900,1786],{"class":442},[428,2902,2903,2905,2907],{"class":430,"line":1288},[428,2904,2447],{"class":1147},[428,2906,1775],{"class":442},[428,2908,2909],{"class":759},"Получить пользователя по ID\n",[428,2911,2912,2914],{"class":430,"line":1294},[428,2913,2699],{"class":1147},[428,2915,1786],{"class":442},[428,2917,2918,2920,2922,2924],{"class":430,"line":1299},[428,2919,2706],{"class":442},[428,2921,1241],{"class":1147},[428,2923,1775],{"class":442},[428,2925,2926],{"class":759},"id\n",[428,2928,2930,2932,2934],{"class":430,"line":2929},41,[428,2931,2718],{"class":1147},[428,2933,1775],{"class":442},[428,2935,2936],{"class":759},"path\n",[428,2938,2940,2943,2945],{"class":430,"line":2939},42,[428,2941,2942],{"class":1147},"          required",[428,2944,1775],{"class":442},[428,2946,2947],{"class":800},"true\n",[428,2949,2951,2953],{"class":430,"line":2950},43,[428,2952,2728],{"class":1147},[428,2954,1786],{"class":442},[428,2956,2958,2960,2962],{"class":430,"line":2957},44,[428,2959,2735],{"class":1147},[428,2961,1775],{"class":442},[428,2963,2583],{"class":759},[428,2965,2967,2969],{"class":430,"line":2966},45,[428,2968,2457],{"class":1147},[428,2970,1786],{"class":442},[428,2972,2974,2976],{"class":430,"line":2973},46,[428,2975,2464],{"class":759},[428,2977,1786],{"class":442},[428,2979,2981,2983,2985],{"class":430,"line":2980},47,[428,2982,2471],{"class":1147},[428,2984,1775],{"class":442},[428,2986,2987],{"class":759},"Детали пользователя\n",[428,2989,2991,2993],{"class":430,"line":2990},48,[428,2992,2481],{"class":1147},[428,2994,1786],{"class":442},[428,2996,2998,3000],{"class":430,"line":2997},49,[428,2999,2488],{"class":1147},[428,3001,1786],{"class":442},[428,3003,3005,3007],{"class":430,"line":3004},50,[428,3006,2495],{"class":1147},[428,3008,1786],{"class":442},[428,3010,3012,3014,3016],{"class":430,"line":3011},51,[428,3013,2835],{"class":1147},[428,3015,1775],{"class":442},[428,3017,2524],{"class":759},[428,3019,3021,3024],{"class":430,"line":3020},52,[428,3022,3023],{"class":759},"        '404'",[428,3025,1786],{"class":442},[428,3027,3029,3031,3033],{"class":430,"line":3028},53,[428,3030,2471],{"class":1147},[428,3032,1775],{"class":442},[428,3034,3035],{"class":759},"Пользователь не найден\n",[428,3037,3039],{"class":430,"line":3038},54,[428,3040,633],{"emptyLinePlaceholder":6},[428,3042,3044,3046],{"class":430,"line":3043},55,[428,3045,2533],{"class":1147},[428,3047,1786],{"class":442},[428,3049,3051,3053],{"class":430,"line":3050},56,[428,3052,2540],{"class":1147},[428,3054,1786],{"class":442},[428,3056,3058,3060],{"class":430,"line":3057},57,[428,3059,2547],{"class":1147},[428,3061,1786],{"class":442},[428,3063,3065,3067,3069],{"class":430,"line":3064},58,[428,3066,2554],{"class":1147},[428,3068,1775],{"class":442},[428,3070,2559],{"class":759},[428,3072,3074,3076],{"class":430,"line":3073},59,[428,3075,2564],{"class":1147},[428,3077,1786],{"class":442},[428,3079,3081,3083],{"class":430,"line":3080},60,[428,3082,2571],{"class":1147},[428,3084,1786],{"class":442},[428,3086,3088,3090,3092],{"class":430,"line":3087},61,[428,3089,2578],{"class":1147},[428,3091,1775],{"class":442},[428,3093,2583],{"class":759},[428,3095,3097,3099],{"class":430,"line":3096},62,[428,3098,2588],{"class":1147},[428,3100,1786],{"class":442},[428,3102,3104,3106,3108],{"class":430,"line":3103},63,[428,3105,2578],{"class":1147},[428,3107,1775],{"class":442},[428,3109,2599],{"class":759},[428,3111,3113,3115],{"class":430,"line":3112},64,[428,3114,2604],{"class":1147},[428,3116,1786],{"class":442},[428,3118,3120,3122,3124],{"class":430,"line":3119},65,[428,3121,2578],{"class":1147},[428,3123,1775],{"class":442},[428,3125,2599],{"class":759},[428,3127,3129,3132],{"class":430,"line":3128},66,[428,3130,3131],{"class":1147},"        createdAt",[428,3133,1786],{"class":442},[428,3135,3137,3139,3141],{"class":430,"line":3136},67,[428,3138,2578],{"class":1147},[428,3140,1775],{"class":442},[428,3142,2599],{"class":759},[428,3144,3146,3149,3151],{"class":430,"line":3145},68,[428,3147,3148],{"class":1147},"          format",[428,3150,1775],{"class":442},[428,3152,3153],{"class":759},"date-time\n",[428,3155,3157,3160],{"class":430,"line":3156},69,[428,3158,3159],{"class":1147},"        updatedAt",[428,3161,1786],{"class":442},[428,3163,3165,3167,3169],{"class":430,"line":3164},70,[428,3166,2578],{"class":1147},[428,3168,1775],{"class":442},[428,3170,2599],{"class":759},[428,3172,3174,3176,3178],{"class":430,"line":3173},71,[428,3175,3148],{"class":1147},[428,3177,1775],{"class":442},[428,3179,3153],{"class":759},[428,3181,3183,3186],{"class":430,"line":3182},72,[428,3184,3185],{"class":1147},"    UserList",[428,3187,1786],{"class":442},[428,3189,3191,3193,3195],{"class":430,"line":3190},73,[428,3192,2554],{"class":1147},[428,3194,1775],{"class":442},[428,3196,2559],{"class":759},[428,3198,3200,3202],{"class":430,"line":3199},74,[428,3201,2564],{"class":1147},[428,3203,1786],{"class":442},[428,3205,3207,3210],{"class":430,"line":3206},75,[428,3208,3209],{"class":1147},"        users",[428,3211,1786],{"class":442},[428,3213,3215,3217,3219],{"class":430,"line":3214},76,[428,3216,2578],{"class":1147},[428,3218,1775],{"class":442},[428,3220,2507],{"class":759},[428,3222,3224,3227],{"class":430,"line":3223},77,[428,3225,3226],{"class":1147},"          items",[428,3228,1786],{"class":442},[428,3230,3232,3235,3237],{"class":430,"line":3231},78,[428,3233,3234],{"class":1147},"            $ref",[428,3236,1775],{"class":442},[428,3238,2524],{"class":759},[428,3240,3242,3245],{"class":430,"line":3241},79,[428,3243,3244],{"class":1147},"        total",[428,3246,1786],{"class":442},[428,3248,3250,3252,3254],{"class":430,"line":3249},80,[428,3251,2578],{"class":1147},[428,3253,1775],{"class":442},[428,3255,2583],{"class":759},[428,3257,3259,3262],{"class":430,"line":3258},81,[428,3260,3261],{"class":1147},"        limit",[428,3263,1786],{"class":442},[428,3265,3267,3269,3271],{"class":430,"line":3266},82,[428,3268,2578],{"class":1147},[428,3270,1775],{"class":442},[428,3272,2583],{"class":759},[428,3274,3276,3279],{"class":430,"line":3275},83,[428,3277,3278],{"class":1147},"        offset",[428,3280,1786],{"class":442},[428,3282,3284,3286,3288],{"class":430,"line":3283},84,[428,3285,2578],{"class":1147},[428,3287,1775],{"class":442},[428,3289,2583],{"class":759},[428,3291,3293,3296],{"class":430,"line":3292},85,[428,3294,3295],{"class":1147},"    Error",[428,3297,1786],{"class":442},[428,3299,3301,3303,3305],{"class":430,"line":3300},86,[428,3302,2554],{"class":1147},[428,3304,1775],{"class":442},[428,3306,2559],{"class":759},[428,3308,3310,3312],{"class":430,"line":3309},87,[428,3311,2564],{"class":1147},[428,3313,1786],{"class":442},[428,3315,3317,3320],{"class":430,"line":3316},88,[428,3318,3319],{"class":1147},"        message",[428,3321,1786],{"class":442},[428,3323,3325,3327,3329],{"class":430,"line":3324},89,[428,3326,2578],{"class":1147},[428,3328,1775],{"class":442},[428,3330,2599],{"class":759},[428,3332,3334,3337],{"class":430,"line":3333},90,[428,3335,3336],{"class":1147},"        code",[428,3338,1786],{"class":442},[428,3340,3342,3344,3346],{"class":430,"line":3341},91,[428,3343,2578],{"class":1147},[428,3345,1775],{"class":442},[428,3347,2599],{"class":759},[392,3349,5],{"id":3350},"документация",[405,3352,3354],{"id":3353},"readme-markdown",[409,3355,3356],{},"README Markdown",[397,3358,3359],{},[409,3360,3361],{},"Файл A (Базовая Версия):",[418,3363,3367],{"className":3364,"code":3365,"language":3366,"meta":423,"style":423},"language-markdown shiki shiki-themes github-light github-light dark-plus","# Мой Проект\n\nПростое веб-приложение, построенное с React.\n\n## Установка\n\n```bash\nnpm install\n```\n","markdown",[425,3368,3369,3375,3379,3384,3388,3393,3397,3402,3410],{"__ignoreMap":423},[428,3370,3371],{"class":430,"line":431},[428,3372,3374],{"class":3373},"sdyrH","# Мой Проект\n",[428,3376,3377],{"class":430,"line":453},[428,3378,633],{"emptyLinePlaceholder":6},[428,3380,3381],{"class":430,"line":474},[428,3382,3383],{"class":442},"Простое веб-приложение, построенное с React.\n",[428,3385,3386],{"class":430,"line":522},[428,3387,633],{"emptyLinePlaceholder":6},[428,3389,3390],{"class":430,"line":546},[428,3391,3392],{"class":3373},"## Установка\n",[428,3394,3395],{"class":430,"line":552},[428,3396,633],{"emptyLinePlaceholder":6},[428,3398,3399],{"class":430,"line":562},[428,3400,3401],{"class":442},"```bash\n",[428,3403,3404,3407],{"class":430,"line":692},[428,3405,3406],{"class":438},"npm",[428,3408,3409],{"class":759}," install\n",[428,3411,3412],{"class":430,"line":703},[428,3413,3414],{"class":442},"```\n",[392,3416,3418],{"id":3417},"использование","Использование",[418,3420,3424],{"className":3421,"code":3422,"language":3423,"meta":423,"style":423},"language-bash shiki shiki-themes github-light github-light dark-plus","npm start\n","bash",[425,3425,3426],{"__ignoreMap":423},[428,3427,3428,3430],{"class":430,"line":431},[428,3429,3406],{"class":438},[428,3431,3432],{"class":759}," start\n",[392,3434,3436],{"id":3435},"функции","Функции",[3438,3439,3440,3444,3447],"ul",{},[3441,3442,3443],"li",{},"Аутентификация пользователей",[3441,3445,3446],{},"Визуализация данных",[3441,3448,3449],{},"Адаптивный дизайн",[418,3451,3454],{"className":3452,"code":3453,"language":716},[714],"\n**Файл B (Расширенная Версия):**\n```markdown\n# Мой Проект\n\nСовременное веб-приложение, построенное с React и TypeScript, включающее визуализацию данных в реальном времени и продвинутое управление пользователями.\n\n## Содержание\n\n- [Установка](#установка)\n- [Использование](#использование)\n- [Функции](#функции)\n- [Документация API](#документация-api)\n- [Вклад](#вклад)\n- [Лицензия](#лицензия)\n\n## Установка\n\n### Предварительные Требования\n\n- Node.js 16.0 или выше\n- npm 8.0 или выше\n\n### Настройка\n\n```bash\n# Клонировать репозиторий\ngit clone https:\u002F\u002Fgithub.com\u002Fuser\u002Fmy-project.git\ncd my-project\n\n# Установить зависимости\nnpm install\n\n# Настроить переменные окружения\ncp .env.example .env\n",[425,3455,3453],{"__ignoreMap":423},[392,3457,3418],{"id":3458},"использование-1",[405,3460,3462],{"id":3461},"разработка","Разработка",[418,3464,3466],{"className":3421,"code":3465,"language":3423,"meta":423,"style":423},"npm run dev\n",[425,3467,3468],{"__ignoreMap":423},[428,3469,3470,3472,3475],{"class":430,"line":431},[428,3471,3406],{"class":438},[428,3473,3474],{"class":759}," run",[428,3476,3477],{"class":759}," dev\n",[405,3479,3481],{"id":3480},"продакшн","Продакшн",[418,3483,3485],{"className":3421,"code":3484,"language":3423,"meta":423,"style":423},"npm run build\nnpm start\n",[425,3486,3487,3496],{"__ignoreMap":423},[428,3488,3489,3491,3493],{"class":430,"line":431},[428,3490,3406],{"class":438},[428,3492,3474],{"class":759},[428,3494,3495],{"class":759}," build\n",[428,3497,3498,3500],{"class":430,"line":453},[428,3499,3406],{"class":438},[428,3501,3432],{"class":759},[392,3503,3436],{"id":3504},"функции-1",[405,3506,3508],{"id":3507},"основные-функции","Основные Функции",[3438,3510,3511,3517,3523,3529,3535],{},[3441,3512,3513,3516],{},[409,3514,3515],{},"Аутентификация Пользователей",": Безопасный вход с JWT токенами",[3441,3518,3519,3522],{},[409,3520,3521],{},"Визуализация Данных",": Интерактивные графики и таблицы",[3441,3524,3525,3528],{},[409,3526,3527],{},"Адаптивный Дизайн",": Mobile-first подход",[3441,3530,3531,3534],{},[409,3532,3533],{},"Обновления в Реальном Времени",": WebSocket интеграция",[3441,3536,3537,3540],{},[409,3538,3539],{},"API Интеграция",": RESTful API с поддержкой GraphQL",[405,3542,3544],{"id":3543},"продвинутые-функции","Продвинутые Функции",[3438,3546,3547,3553,3559,3565],{},[3441,3548,3549,3552],{},[409,3550,3551],{},"Темный Режим",": Переключение между светлой и темной темами",[3441,3554,3555,3558],{},[409,3556,3557],{},"Интернационализация",": Многоязычная поддержка",[3441,3560,3561,3564],{},[409,3562,3563],{},"Доступность",": Соответствие WCAG 2.1 AA",[3441,3566,3567,3570],{},[409,3568,3569],{},"Производительность",": Оптимизированный размер пакета и время загрузки",[392,3572,3574],{"id":3573},"документация-api","Документация API",[397,3576,3577,3578,3583],{},"См. ",[3579,3580,3582],"a",{"href":3581},".\u002Fdocs\u002FAPI","API.md"," для подробной документации API.",[392,3585,3587],{"id":3586},"вклад","Вклад",[3589,3590,3591,3594,3597,3600,3603],"ol",{},[3441,3592,3593],{},"Форк репозитория",[3441,3595,3596],{},"Создать ветку функции",[3441,3598,3599],{},"Внести изменения",[3441,3601,3602],{},"Добавить тесты",[3441,3604,3605],{},"Отправить pull request",[392,3607,3609],{"id":3608},"лицензия","Лицензия",[397,3611,3612,3613,3617],{},"MIT Лицензия - см. ",[3579,3614,3616],{"href":3615},".\u002FLICENSE","LICENSE"," для деталей.",[418,3619,3622],{"className":3620,"code":3621,"language":716},[714],"\n## Анализ Данных\n\n### **JSON Конфигурация**\n\n**Файл A (Конфигурация Разработки):**\n```json\n{\n  \"database\": {\n    \"host\": \"localhost\",\n    \"port\": 5432,\n    \"name\": \"myapp_dev\",\n    \"username\": \"dev_user\",\n    \"password\": \"dev_password\"\n  },\n  \"redis\": {\n    \"host\": \"localhost\",\n    \"port\": 6379,\n    \"password\": null\n  },\n  \"logging\": {\n    \"level\": \"debug\",\n    \"file\": \"logs\u002Fapp.log\"\n  },\n  \"features\": {\n    \"enableAnalytics\": false,\n    \"enableDebugMode\": true,\n    \"enableExperimentalFeatures\": true\n  }\n}\n",[425,3623,3621],{"__ignoreMap":423},[397,3625,3626],{},[409,3627,3628],{},"Файл B (Конфигурация Продакшна):",[418,3630,3632],{"className":2114,"code":3631,"language":982,"meta":423,"style":423},"{\n  \"database\": {\n    \"host\": \"prod-db.example.com\",\n    \"port\": 5432,\n    \"name\": \"myapp_prod\",\n    \"username\": \"prod_user\",\n    \"password\": \"${DB_PASSWORD}\",\n    \"ssl\": true,\n    \"pool\": {\n      \"min\": 5,\n      \"max\": 20\n    }\n  },\n  \"redis\": {\n    \"host\": \"prod-redis.example.com\",\n    \"port\": 6379,\n    \"password\": \"${REDIS_PASSWORD}\",\n    \"cluster\": {\n      \"enabled\": true,\n      \"nodes\": [\"redis-1.example.com:6379\", \"redis-2.example.com:6379\", \"redis-3.example.com:6379\"]\n    }\n  },\n  \"logging\": {\n    \"level\": \"info\",\n    \"file\": \"\u002Fvar\u002Flog\u002Fmyapp\u002Fapp.log\",\n    \"maxSize\": \"100MB\",\n    \"maxFiles\": 5\n  },\n  \"features\": {\n    \"enableAnalytics\": true,\n    \"enableDebugMode\": false,\n    \"enableExperimentalFeatures\": false\n  },\n  \"monitoring\": {\n    \"enabled\": true,\n    \"endpoint\": \"https:\u002F\u002Fmonitoring.example.com\",\n    \"apiKey\": \"${MONITORING_API_KEY}\"\n  }\n}\n",[425,3633,3634,3638,3645,3657,3669,3681,3693,3705,3716,3723,3735,3745,3749,3753,3760,3771,3782,3793,3800,3811,3835,3839,3843,3850,3862,3874,3886,3896,3900,3907,3918,3929,3939,3943,3950,3961,3973,3983,3987],{"__ignoreMap":423},[428,3635,3636],{"class":430,"line":431},[428,3637,2122],{"class":442},[428,3639,3640,3643],{"class":430,"line":453},[428,3641,3642],{"class":509},"  \"database\"",[428,3644,2130],{"class":442},[428,3646,3647,3650,3652,3655],{"class":430,"line":474},[428,3648,3649],{"class":509},"    \"host\"",[428,3651,1775],{"class":442},[428,3653,3654],{"class":759},"\"prod-db.example.com\"",[428,3656,832],{"class":442},[428,3658,3659,3662,3664,3667],{"class":430,"line":522},[428,3660,3661],{"class":509},"    \"port\"",[428,3663,1775],{"class":442},[428,3665,3666],{"class":467},"5432",[428,3668,832],{"class":442},[428,3670,3671,3674,3676,3679],{"class":430,"line":546},[428,3672,3673],{"class":509},"    \"name\"",[428,3675,1775],{"class":442},[428,3677,3678],{"class":759},"\"myapp_prod\"",[428,3680,832],{"class":442},[428,3682,3683,3686,3688,3691],{"class":430,"line":552},[428,3684,3685],{"class":509},"    \"username\"",[428,3687,1775],{"class":442},[428,3689,3690],{"class":759},"\"prod_user\"",[428,3692,832],{"class":442},[428,3694,3695,3698,3700,3703],{"class":430,"line":562},[428,3696,3697],{"class":509},"    \"password\"",[428,3699,1775],{"class":442},[428,3701,3702],{"class":759},"\"${DB_PASSWORD}\"",[428,3704,832],{"class":442},[428,3706,3707,3710,3712,3714],{"class":430,"line":692},[428,3708,3709],{"class":509},"    \"ssl\"",[428,3711,1775],{"class":442},[428,3713,1414],{"class":800},[428,3715,832],{"class":442},[428,3717,3718,3721],{"class":430,"line":703},[428,3719,3720],{"class":509},"    \"pool\"",[428,3722,2130],{"class":442},[428,3724,3725,3728,3730,3733],{"class":430,"line":850},[428,3726,3727],{"class":509},"      \"min\"",[428,3729,1775],{"class":442},[428,3731,3732],{"class":467},"5",[428,3734,832],{"class":442},[428,3736,3737,3740,3742],{"class":430,"line":855},[428,3738,3739],{"class":509},"      \"max\"",[428,3741,1775],{"class":442},[428,3743,3744],{"class":467},"20\n",[428,3746,3747],{"class":430,"line":860},[428,3748,1072],{"class":442},[428,3750,3751],{"class":430,"line":869},[428,3752,2180],{"class":442},[428,3754,3755,3758],{"class":430,"line":882},[428,3756,3757],{"class":509},"  \"redis\"",[428,3759,2130],{"class":442},[428,3761,3762,3764,3766,3769],{"class":430,"line":887},[428,3763,3649],{"class":509},[428,3765,1775],{"class":442},[428,3767,3768],{"class":759},"\"prod-redis.example.com\"",[428,3770,832],{"class":442},[428,3772,3773,3775,3777,3780],{"class":430,"line":892},[428,3774,3661],{"class":509},[428,3776,1775],{"class":442},[428,3778,3779],{"class":467},"6379",[428,3781,832],{"class":442},[428,3783,3784,3786,3788,3791],{"class":430,"line":910},[428,3785,3697],{"class":509},[428,3787,1775],{"class":442},[428,3789,3790],{"class":759},"\"${REDIS_PASSWORD}\"",[428,3792,832],{"class":442},[428,3794,3795,3798],{"class":430,"line":918},[428,3796,3797],{"class":509},"    \"cluster\"",[428,3799,2130],{"class":442},[428,3801,3802,3805,3807,3809],{"class":430,"line":966},[428,3803,3804],{"class":509},"      \"enabled\"",[428,3806,1775],{"class":442},[428,3808,1414],{"class":800},[428,3810,832],{"class":442},[428,3812,3813,3816,3819,3822,3824,3827,3829,3832],{"class":430,"line":987},[428,3814,3815],{"class":509},"      \"nodes\"",[428,3817,3818],{"class":442},": [",[428,3820,3821],{"class":759},"\"redis-1.example.com:6379\"",[428,3823,653],{"class":442},[428,3825,3826],{"class":759},"\"redis-2.example.com:6379\"",[428,3828,653],{"class":442},[428,3830,3831],{"class":759},"\"redis-3.example.com:6379\"",[428,3833,3834],{"class":442},"]\n",[428,3836,3837],{"class":430,"line":1015},[428,3838,1072],{"class":442},[428,3840,3841],{"class":430,"line":1031},[428,3842,2180],{"class":442},[428,3844,3845,3848],{"class":430,"line":1052},[428,3846,3847],{"class":509},"  \"logging\"",[428,3849,2130],{"class":442},[428,3851,3852,3855,3857,3860],{"class":430,"line":1069},[428,3853,3854],{"class":509},"    \"level\"",[428,3856,1775],{"class":442},[428,3858,3859],{"class":759},"\"info\"",[428,3861,832],{"class":442},[428,3863,3864,3867,3869,3872],{"class":430,"line":1075},[428,3865,3866],{"class":509},"    \"file\"",[428,3868,1775],{"class":442},[428,3870,3871],{"class":759},"\"\u002Fvar\u002Flog\u002Fmyapp\u002Fapp.log\"",[428,3873,832],{"class":442},[428,3875,3876,3879,3881,3884],{"class":430,"line":1081},[428,3877,3878],{"class":509},"    \"maxSize\"",[428,3880,1775],{"class":442},[428,3882,3883],{"class":759},"\"100MB\"",[428,3885,832],{"class":442},[428,3887,3888,3891,3893],{"class":430,"line":1086},[428,3889,3890],{"class":509},"    \"maxFiles\"",[428,3892,1775],{"class":442},[428,3894,3895],{"class":467},"5\n",[428,3897,3898],{"class":430,"line":1094},[428,3899,2180],{"class":442},[428,3901,3902,3905],{"class":430,"line":1124},[428,3903,3904],{"class":509},"  \"features\"",[428,3906,2130],{"class":442},[428,3908,3909,3912,3914,3916],{"class":430,"line":1129},[428,3910,3911],{"class":509},"    \"enableAnalytics\"",[428,3913,1775],{"class":442},[428,3915,1414],{"class":800},[428,3917,832],{"class":442},[428,3919,3920,3923,3925,3927],{"class":430,"line":1166},[428,3921,3922],{"class":509},"    \"enableDebugMode\"",[428,3924,1775],{"class":442},[428,3926,1565],{"class":800},[428,3928,832],{"class":442},[428,3930,3931,3934,3936],{"class":430,"line":1198},[428,3932,3933],{"class":509},"    \"enableExperimentalFeatures\"",[428,3935,1775],{"class":442},[428,3937,3938],{"class":800},"false\n",[428,3940,3941],{"class":430,"line":1203},[428,3942,2180],{"class":442},[428,3944,3945,3948],{"class":430,"line":1211},[428,3946,3947],{"class":509},"  \"monitoring\"",[428,3949,2130],{"class":442},[428,3951,3952,3955,3957,3959],{"class":430,"line":1222},[428,3953,3954],{"class":509},"    \"enabled\"",[428,3956,1775],{"class":442},[428,3958,1414],{"class":800},[428,3960,832],{"class":442},[428,3962,3963,3966,3968,3971],{"class":430,"line":1252},[428,3964,3965],{"class":509},"    \"endpoint\"",[428,3967,1775],{"class":442},[428,3969,3970],{"class":759},"\"https:\u002F\u002Fmonitoring.example.com\"",[428,3972,832],{"class":442},[428,3974,3975,3978,3980],{"class":430,"line":1278},[428,3976,3977],{"class":509},"    \"apiKey\"",[428,3979,1775],{"class":442},[428,3981,3982],{"class":759},"\"${MONITORING_API_KEY}\"\n",[428,3984,3985],{"class":430,"line":1288},[428,3986,549],{"class":442},[428,3988,3989],{"class":430,"line":1294},[428,3990,565],{"class":442},[392,3992,3994],{"id":3993},"лучшие-практики","Лучшие Практики",[405,3996,3998],{"id":3997},"эффективное-использование",[409,3999,4000],{},"Эффективное Использование",[3589,4002,4003,4009,4015,4021],{},[3441,4004,4005,4008],{},[409,4006,4007],{},"Регулярные Сравнения",": Сравнивайте файлы регулярно для отслеживания изменений",[3441,4010,4011,4014],{},[409,4012,4013],{},"Описательные Имена",": Используйте значимые имена для ваших файлов",[3441,4016,4017,4020],{},[409,4018,4019],{},"Использование Истории",": Сохраняйте важные сравнения в истории",[3441,4022,4023,4026],{},[409,4024,4025],{},"Настройка Опций",": Экспериментируйте с различными опциями сравнения",[405,4028,4030],{"id":4029},"советы-по-производительности",[409,4031,4032],{},"Советы по Производительности",[3589,4034,4035,4041,4047],{},[3441,4036,4037,4040],{},[409,4038,4039],{},"Размер Файла",": Держите файлы под 10,000 строк для оптимальной производительности",[3441,4042,4043,4046],{},[409,4044,4045],{},"Кэш Браузера",": Очистите кэш браузера при проблемах",[3441,4048,4049,4052],{},[409,4050,4051],{},"Современные Браузеры",": Используйте актуальные версии браузеров",[405,4054,4056],{"id":4055},"заметки-о-безопасности",[409,4057,4058],{},"Заметки о Безопасности",[3589,4060,4061,4067,4073],{},[3441,4062,4063,4066],{},[409,4064,4065],{},"Чувствительные Данные",": Избегайте сравнения паролей или API ключей",[3441,4068,4069,4072],{},[409,4070,4071],{},"Локальная Обработка",": Вся обработка происходит локально в вашем браузере",[3441,4074,4075,4078],{},[409,4076,4077],{},"Очистка Истории",": Удаляйте историю регулярно",[397,4080,4081],{},"Эти примеры показывают универсальность и мощь инструмента Text Diff в различных сценариях применения.",[4083,4084,4085],"style",{},"html pre.shiki code .sGiLm, html code.shiki .sGiLm{--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#569CD6}html pre.shiki code .sqMzV, html code.shiki .sqMzV{--shiki-default:#6F42C1;--shiki-light:#6F42C1;--shiki-dark:#DCDCAA}html pre.shiki code .svVIm, html code.shiki .svVIm{--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#D4D4D4}html pre.shiki code .szM7h, html code.shiki .szM7h{--shiki-default:#E36209;--shiki-light:#E36209;--shiki-dark:#9CDCFE}html pre.shiki code .szTj3, html code.shiki .szTj3{--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#9CDCFE}html pre.shiki code .sGmsN, html code.shiki .sGmsN{--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#D4D4D4}html pre.shiki code .sewGd, html code.shiki .sewGd{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#B5CEA8}html pre.shiki code .srAhW, html code.shiki .srAhW{--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#C586C0}html pre.shiki code .sSQ6O, html code.shiki .sSQ6O{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#9CDCFE}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sjj1j, html code.shiki .sjj1j{--shiki-default:#032F62;--shiki-light:#032F62;--shiki-dark:#CE9178}html pre.shiki code .s_0E6, html code.shiki .s_0E6{--shiki-default:#6F42C1;--shiki-light:#6F42C1;--shiki-dark:#4EC9B0}html pre.shiki code .sLV08, html code.shiki .sLV08{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#569CD6}html pre.shiki code .sdRU0, html code.shiki .sdRU0{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#4FC1FF}html pre.shiki code .s7eq4, html code.shiki .s7eq4{--shiki-default:#032F62;--shiki-light:#032F62;--shiki-dark:#569CD6}html pre.shiki code .sXkxF, html code.shiki .sXkxF{--shiki-default:#032F62;--shiki-light:#032F62;--shiki-dark:#D4D4D4}html pre.shiki code .skpqk, html code.shiki .skpqk{--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#808080}html pre.shiki code .sq2bZ, html code.shiki .sq2bZ{--shiki-default:#22863A;--shiki-light:#22863A;--shiki-dark:#569CD6}html pre.shiki code .stLzX, html code.shiki .stLzX{--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#569CD6}html pre.shiki code .sdyrH, html code.shiki .sdyrH{--shiki-default:#005CC5;--shiki-default-font-weight:bold;--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#569CD6;--shiki-dark-font-weight:bold}",{"title":423,"searchDepth":453,"depth":453,"links":4087},[4088,4089,4093,4097,4100,4103,4104,4105,4109,4113,4114,4115,4116],{"id":394,"depth":453,"text":395},{"id":402,"depth":453,"text":403,"children":4090},[4091,4092],{"id":407,"depth":474,"text":411},{"id":721,"depth":474,"text":724},{"id":1748,"depth":453,"text":1749,"children":4094},[4095,4096],{"id":1752,"depth":474,"text":1755},{"id":2103,"depth":474,"text":2106},{"id":2353,"depth":453,"text":2354,"children":4098},[4099],{"id":2357,"depth":474,"text":2360},{"id":3350,"depth":453,"text":5,"children":4101},[4102],{"id":3353,"depth":474,"text":3356},{"id":3417,"depth":453,"text":3418},{"id":3435,"depth":453,"text":3436},{"id":3458,"depth":453,"text":3418,"children":4106},[4107,4108],{"id":3461,"depth":474,"text":3462},{"id":3480,"depth":474,"text":3481},{"id":3504,"depth":453,"text":3436,"children":4110},[4111,4112],{"id":3507,"depth":474,"text":3508},{"id":3543,"depth":474,"text":3544},{"id":3573,"depth":453,"text":3574},{"id":3586,"depth":453,"text":3587},{"id":3608,"depth":453,"text":3609},{"id":3993,"depth":453,"text":3994,"children":4117},[4118,4119,4120],{"id":3997,"depth":474,"text":4000},{"id":4029,"depth":474,"text":4032},{"id":4055,"depth":474,"text":4058},"Практические примеры и случаи использования для инструмента Text Diff","md",{},{"title":205,"description":4121},{"loc":206},"yAwBxtrCjaQmQyH9CjudYAUJJHjpGz9PM2EuHk1zSzU",[4128,4128],null]