{"version":3,"sources":["webpack:///webpack/bootstrap 2a497fd99c543782f0f9","webpack:///./source/main.js","webpack:///./~/es6-shim/es6-shim.js","webpack:///./~/process/browser.js","webpack:///./source/main.scss","webpack:///./~/blocko/router.js","webpack:///./~/blocko/helpers.js","webpack:///./~/blocko/functions/xhr.js","webpack:///./~/blocko/config.js","webpack:///./~/blocko/polyfill.js","webpack:///./source/validate.js","webpack:///./~/blocko/form-validate.js","webpack:///./~/common.web/functions/advanced_validations.js","webpack:///./source/controllers/auth.js","webpack:///./~/common.web/layouts/l-auth/l-auth.html","webpack:///./~/nunjucks/browser/nunjucks-slim.js","webpack:///./~/blocko/nunjucks.config.js","webpack:///./~/common.web/blocks/b-layout/b-layout.html","webpack:///./~/common.web/blocks/b-header/b-header.html","webpack:///./~/nunjucks-loader/runtime-shim.js","webpack:///./~/common.web/blocks/b-nav/b-nav.html","webpack:///./~/common.web/blocks/b-loader/b-loader.html","webpack:///./source/controller.js","webpack:///./source/context.js","webpack:///./~/blocko/controller.js","webpack:///./~/blocko/functions/context.js","webpack:///./~/blocko/functions/render.js","webpack:///./~/blocko/cookie.js","webpack:///./~/blocko/functions/request.js","webpack:///./~/blocko/events.js","webpack:///./~/blocko/widgets/i-progress-bar/i-progress-bar.js","webpack:///./source/controllers/error.js","webpack:///./~/common.web/layouts/l-error/l-error.html","webpack:///./source/controllers/home.js","webpack:///./~/lodash.get/index.js","webpack:///./source/templates/l-home/l-home.html","webpack:///./source/templates/l-home/l-home__create-rightholder.html","webpack:///./~/common.web/blocks/b-search/b-search.html","webpack:///./~/common.web/blocks/b-dropdown-filter/b-dropdown-filter.html","webpack:///./source/templates/l-home/l-home__rightholders-filter.html","webpack:///./~/common.web/blocks/b-filter-values/b-filter-values.html","webpack:///./source/templates/l-home/l-home__rightholders_item.html","webpack:///./source/templates/l-home/l-home__modal-export.html","webpack:///./source/templates/l-home/l-home__modal-scapr-out.html","webpack:///./source/templates/l-home/l-home__rightholders_info.html","webpack:///./~/blocko/widgets/i-tab/i-tab.js","webpack:///./~/blocko/widgets/i-modal/i-modal.js","webpack:///./source/templates/i-toggle-form/i-toggle-form.js","webpack:///./source/controllers/agreements.js","webpack:///./source/templates/l-agreements/l-agreements.html","webpack:///./source/templates/l-agreements/l-agreements__modal-add.html","webpack:///./source/templates/l-agreements/l-agreements__filter.html","webpack:///./source/templates/l-agreements/l-agreements__table-content.html","webpack:///./source/controllers/references.js","webpack:///./source/templates/l-references/l-references.html","webpack:///./source/controllers/contract_type.js","webpack:///./source/templates/l-contract-type/l-contract-type.html","webpack:///./source/templates/l-contract-type/l-contract-type__modal.html","webpack:///./source/controllers/post.js","webpack:///./source/templates/l-post/l-post.html","webpack:///./source/templates/l-post/l-post__modal-add.html","webpack:///./source/templates/l-post/l-post__table-content.html","webpack:///./source/templates/l-post/l-post__modal-edit.html","webpack:///./source/controllers/users.js","webpack:///./source/templates/l-users/l-users.html","webpack:///./source/templates/l-users/l-users__add-user-modal.html","webpack:///./source/templates/l-users/l-users__table-content.html","webpack:///./source/controllers/user.js","webpack:///./source/templates/l-user/l-user.html","webpack:///./source/templates/l-user/l-user__block-account.html","webpack:///./source/templates/l-user/l-user__block-info.html","webpack:///./source/controllers/rightholder.js","webpack:///./source/templates/l-rightholder/l-rightholder.html","webpack:///./source/templates/l-rightholder/l-rightholder__block-contragent_ul.html","webpack:///./source/templates/l-rightholder/l-rightholder__block-contragent_ip.html","webpack:///./source/templates/l-rightholder/l-rightholder__block-contragent_fl.html","webpack:///./source/templates/l-rightholder/l-rightholder__block-documents.html","webpack:///./source/templates/l-rightholder/l-rightholder__block-addresses.html","webpack:///./source/templates/l-rightholder/l-rightholder__block-contacts.html","webpack:///./source/templates/l-rightholder/l-rightholder__block-requisites.html","webpack:///./source/templates/l-rightholder/l-rightholder__block-employees.html","webpack:///./source/templates/l-rightholder/l-rightholder__block-taxes.html","webpack:///./source/templates/l-rightholder/l-rightholder__address-modal.html","webpack:///./source/templates/l-rightholder/l-rightholder__tax-modal.html","webpack:///./source/templates/l-rightholder/l-rightholder__employee-modal.html","webpack:///./source/templates/l-rightholder/l-rightholder__document-modal.html","webpack:///./source/templates/l-rightholder/l-rightholder__contact-modal.html","webpack:///./source/templates/l-rightholder/l-rightholder__requisites-modal.html","webpack:///./source/templates/l-rightholder/l-rightholder__profile-modal.html","webpack:///./source/controllers/agreement.js","webpack:///./source/templates/l-agreement/l-agreement.html","webpack:///./source/templates/l-agreement/l-agreement__block.html","webpack:///./source/templates/l-agreement/l-agreement__modal-edit.html","webpack:///./~/blocko/widgets/b-input/b-input.html","webpack:///./source/templates/b-error-modal/b-error-modal.html","webpack:///./source/controllers/files.js","webpack:///./source/templates/l-files/l-files.html","webpack:///./source/templates/l-files/l-files_modal.html","webpack:///./source/controllers/objects_rights.js","webpack:///./source/templates/l-objects-rights/l-objects-rights.html","webpack:///./source/templates/l-objects-rights/l-objects-rights__modal-add.html","webpack:///./source/templates/l-objects-rights/l-objects-rights__filter.html","webpack:///./source/templates/l-objects-rights/l-objects-rights__table-content.html","webpack:///./source/templates/l-objects-rights/l-object-rights__modal-actualize.html","webpack:///./source/controllers/objects_rights_card.js","webpack:///./source/templates/l-objects-rights-card/l-objects-rights-card.html","webpack:///./source/templates/l-objects-rights-card/l-objects-rights-card__modal-edit.html","webpack:///./source/controllers/objects_rights_synonyms.js","webpack:///./source/templates/l-objects-rights-synonyms/l-objects-rights-synonyms.html","webpack:///./source/templates/l-objects-rights-synonyms/l-objects-rights-synonyms__block-requisites.html","webpack:///./source/templates/l-objects-rights-synonyms/l-objects-rights-synonyms__block-synonyms.html","webpack:///./source/controllers/objects_rights_merge.js","webpack:///./source/templates/l-objects-rights-merge/l-objects-rights-merge.html","webpack:///./source/templates/l-objects-rights-merge/l-objects-rights-merge__items.html","webpack:///./source/templates/l-objects-rights-merge/l-objects-rights-merge__modal.html","webpack:///./source/templates/l-objects-rights-merge/l-objects-rights-merge__confirm-modal.html","webpack:///./source/templates/l-objects-rights-merge/modal.js","webpack:///./source/templates/l-objects-rights-merge/confirm-modal.js","webpack:///./source/controllers/agreement_catalog_files.js","webpack:///./source/templates/l-agreement-catalog-files/l-agreement-catalog-files.html","webpack:///./source/templates/l-agreement-catalog-files/l-agreement-catalog-files__modal.html","webpack:///./source/templates/l-agreement-catalog-files/l-agreement-catalog-files__table-content.html","webpack:///./source/controllers/agreement_catalog.js","webpack:///./source/templates/l-agreement-catalog/l-agreement-catalog.html","webpack:///./source/templates/l-agreement-catalog/l-agreement-catalog__block-info.html","webpack:///./source/templates/l-agreement-catalog/l-agreement-catalog__block-table.html","webpack:///./source/templates/l-agreement-catalog/l-agreement-catalog__filter.html","webpack:///./source/templates/l-agreement-catalog/l-agreement-catalog__modal-add.html","webpack:///./source/templates/l-agreement-catalog/l-agreement-catalog__table-content.html","webpack:///./source/templates/l-agreement-catalog/l-agreement-catalog__modal-export.html","webpack:///./source/templates/l-agreement-catalog/l-agreement-catalog__modal-export-conflict.html","webpack:///./source/templates/l-agreement-catalog/l-agreement-catalog__modal-pass-catalog.html","webpack:///./source/templates/b-wait-modal/b-wait-modal.html","webpack:///./source/templates/l-agreement-catalog/l-agreement-catalog_contract-report.html","webpack:///./~/blocko/widgets/i-checker/i-checker.js","webpack:///./source/controllers/object_comparison.js","webpack:///./source/templates/l-object_comparison/l-object-comparison.html","webpack:///./source/templates/l-object_comparison/l-object-comparison__table-content.html","webpack:///./source/templates/l-object_comparison/l-object-comparison__modal.html","webpack:///./source/controllers/agreement_catalog_object.js","webpack:///./source/templates/l-agreement-catalog-object/l-agreement-catalog-object.html","webpack:///./source/templates/l-agreement-catalog-object/l-agreement-catalog-object__block-track-info.html","webpack:///./source/templates/l-agreement-catalog-object/l-agreement-catalog-object__block-parameters.html","webpack:///./source/templates/l-agreement-catalog-object/l-agreement-catalog-object__block-load-data.html","webpack:///./source/templates/l-agreement-catalog-object/l-agreement-catalog-object__modal-object.html","webpack:///./source/templates/l-agreement-catalog-object/l-agreement-catalog-object__block-rights.html","webpack:///./source/templates/l-agreement-catalog-object/l-agreement-catalog-object__rights-table-content.html","webpack:///./source/templates/l-agreement-catalog-object/l-agreement-catalog-object__modal-rights.html","webpack:///./source/controllers/agreement_journal.js","webpack:///./source/templates/l-agreement-journal/l-agreement-journal.html","webpack:///./source/templates/l-agreement-journal/l-agreement-journal__block-info.html","webpack:///./source/templates/l-agreement-journal/l-agreement-journal__modal-add-file.html","webpack:///./source/templates/l-agreement-journal/l-agreement-journal__block-table.html","webpack:///./source/templates/l-agreement-journal/l-agreement-journal__filter.html","webpack:///./source/templates/l-agreement-journal/l-agreement-journal__modal-add-object.html","webpack:///./source/templates/l-agreement-journal/l-agreement-journal__table-content.html","webpack:///./source/templates/b-confirm-modal/b-confirm-modal.html","webpack:///./source/templates/b-tracks-modal/b-tracks-modal.html","webpack:///./source/controllers/rights.js","webpack:///./source/templates/l-rights/l-rights.html","webpack:///./source/templates/l-rights/l-rights__filter.html","webpack:///./source/templates/l-rights/l-rights__table-content.html","webpack:///./source/templates/l-rights/l-rights__modal-edit-right.html","webpack:///./source/templates/l-rights/l-rights__modal-export.html","webpack:///./source/controllers/scapr.js","webpack:///./source/templates/l-scapr/l-scapr.html","webpack:///./source/templates/l-scapr/l-scapr__table-content.html","webpack:///./source/templates/l-scapr/l-scapr__upload-modal.html","webpack:///./~/common.web/blocks/b-tab/b-tab.js","webpack:///./~/blocko/widget.js","webpack:///./~/common.web/blocks/b-form/b-form.js","webpack:///./~/blocko/widgets/i-form/i-form.js","webpack:///./~/blocko/functions/sueare.js","webpack:///./~/blocko/widgets/i-form-field/i-form-field.js","webpack:///./~/blocko/widgets/b-input/b-input.js","webpack:///./~/blocko/widgets/i-dropdown/i-dropdown.js","webpack:///./~/common.web/blocks/b-modal/b-modal.js","webpack:///./~/common.web/blocks/b-dropdown/b-dropdown.js","webpack:///./~/common.web/blocks/b-dropdown-filter/b-dropdown-filter.js","webpack:///./~/common.web/blocks/b-filter-values/b-filter-values_button-template.html","webpack:///./~/blocko/functions/url_params.js","webpack:///./~/blocko/functions/query-string-to-dict.js","webpack:///./~/blocko/functions/dict-to-query-string.js","webpack:///./~/common.web/blocks/b-search/b-search.js","webpack:///./~/common.web/blocks/b-table-sort/b-table-sort.js","webpack:///./~/common.web/blocks/b-button-submit/b-button-submit.js","webpack:///./~/blocko/widgets/b-paginate/b-paginate.js","webpack:///./~/blocko/widgets/b-paginate/b-paginate__inner.html","webpack:///./source/templates/i-ajax-form/i-ajax-form.js","webpack:///./~/blocko/functions/alert.js","webpack:///./source/templates/i-select-toggle/i-select-toggle.js","webpack:///./source/templates/i-input-aggregation/i-input-aggregation.js","webpack:///./source/templates/b-table-row-removal/b-table-row-removal.js","webpack:///./source/templates/b-table-row-removal/b-table-row-removal.html","webpack:///./source/templates/i-date-comparison/i-date-comparison.js","webpack:///./source/templates/b-input-today/b-input-today.js","webpack:///./source/templates/b-input-mask/b-input-mask.js","webpack:///./source/templates/b-confirm-modal/b-confirm-modal.js","webpack:///./source/templates/b-passport-type/b-passport-type.js"],"names":["Router","config","mode","root","require","check","listen","f","name","Object","defineProperty","Function","prototype","get","toString","match","value","FormData","delete","Element","matches","msMatchesSelector","selector","routes","error_handler","_page_item","_abort","_controllers","options","history","pushState","clearSlashes","getQueryParameters","str","document","location","search","length","replace","split","map","string","idx","indexOf","slice","decodeURIComponent","bind","error_page","controller","argv","getFragment","fragment","decodeURI","pathname","window","href","path","add","handler","push","add_page","routers","route","keys","item","Array","isArray","params","body","widget","instance","remove","forEach","index","splice","i","flush","fragment_list","re","RegExp","apply","path_list","is_valid","abort","current","state","ps","arguments","onpushstate","removeEventListener","history_target","addEventListener","onpopstate","navigate","new_path","code","get_controller","controller_name","get_url","shift","key","pop","page_controller","has_url","module","exports","event","a","target","metaKey","button","hash","hasAttribute","preventDefault","getAttribute","post","parse_json","each","attach_event","remove_event","index_element","closest","is_element","css_property","get_widgets","get_widget","has_widget","flush_widgets","remove_widget","find_widgets","create_widget","unique","convert_bytes","convert_date","convert_time","convert_price","convert_second","plural_form","prepare_content","unwrap","urlify","clear_string","url","data","error","call","unshift","xhr","JSON","parse","e","list","node_list","event_name","HTMLElement","node","parentNode","children","element","position","result","parentElement","nodeType","style","ownerDocument","property","getComputedStyle","getPropertyValue","__list_widget__","widget_name","constructor","classList","destructor","widgets","concat","querySelectorAll","Math","random","substr","bytes","sizes","parseInt","floor","log","round","pow","date_string","options_name","isNaN","date","Date","toLocaleDateString","lang","convert_date_options","toLocaleTimeString","convert_time_options","number","Intl","NumberFormat","convert_price_options","format","seconds","chunks","str_pad_left","pad","join","hour","minutes","words","cases","abs","parent","childNodes","insertBefore","child","removeChild","text","urlRegex","b","c","url2","parent_node","allowed","tagName","attributes","removeAttributeNode","attr","method","callback","XMLHttpRequest","formData","toUpperCase","append","encodeURIComponent","open","send","onreadystatechange","readyState","status","responseText","change_config","get_config","day","month","year","timeZone","minute","currency","config_name","assign","includes","searchElement","O","len","n","k","currentElement","String","self","createElementNS","insertAdjacentHTML","html","ref","container","ref_parent","first_child","next_sibling","innerHTML","toLowerCase","firstChild","lastChild","appendChild","nextSibling","insertAdjacentElement","elem","_this","first","next","num_date","test","date_list","date_object","getFullYear","getMonth","getDate","message","passport_series","field","passport_num","inn","Number","inn_ul","snils","ogrn","ogrnip","kpp","bic","bic_foreign","account","core_account","bank_inn","bank_kpp","account_foreign","card_num","email_exist","duration","duration_list","res","numbers_float","period","mask","mask_len","set_validator","validator_list","get_validator","get_error_message","set_error_message","validators","messages","empty","trim","numeric","email","phone","numbers_date","x","reverse","checked","input","validator_name","validator","validate_inn_12","validate_inn_10","validate_kpp","validate_ogrnip","validate_ogrn","dgt11","dgt12","dgt10","num14","dgt15","dgt13","num12","Auth","template","dom","form","querySelector","loader","submit","loader_timer","_bind","setTimeout","_change_rsid","response","clearTimeout","success","_get_user","errmess","url_for","errcode","Controller","nunjucks","env","currentEnv","Environment","autoescape","configure","dependencies","webpackDependencies","shim","nunjucksPrecompiled","context","frame","runtime","cb","lineno","colno","output","parentTemplate","getTemplate","t_2","_parentTemplate","t_1","blocks","addBlock","r","getBlock","t_4","t_3","rootRenderFunc","handleError","b_content","t_7","t_5","render","getVariables","t_8","t_6","addGlobal","create_attribute","addFilter","attr_list","old_attr","memberLookup","contextOrFrameLookup","set","topLevel","setVariable","addExport","getFilter","t_10","t_11","t_9","suppressValue","opts","t_13","t_12","inOperator","Base","prepare_context","current_user","url_list","context_menu","get_param","link","urls","vois_sro","icon","partner","app_name","footer_text","page_url","current_date","menu","access","contragent_types","uid","document_types","contragent_status","addr_types","ProgressBar","iProgressBar","_params","_requests","_handlers","_is_abort","query","Request","query_string","_dict_to_query","_scope","show","stack_post","_run_render_page","requests","hide","prepare_page","init","dict","hasOwnProperty","chunk","Events","set_context","flush_context","get_context","Cookie","console","cookie","undefined","expires","d","setTime","getTime","toUTCString","updatedCookie","propName","propValue","STACK","is_run","xhr_links","Requests","stack","is_object","request","response_data","type","run","stack_get","stack_object","count_requests","_events","timeout","bar","createElement","className","Error","TABLE_ROW_COUNT","DEFAULT_PAGE","page","DEFAULT_FILTER","country_id","okup","DEFAULT_QUERY","order_by","rows","SELECTOR_DEFAULT_STATE","API_URL","STATUS_READY","STATUS_ERROR","Home","countrys","rightholders","response_text","content","table","table_wrap","title","box","create_button","select_type","passport_type_selector","button_create_rightholder","button_export","button_scapr_out","hide_all","modal_create","sort","b_search","b_filter","b_button_submit","b_button_scapr_out","passport_selector","modal_export","toggle_form","field_state","iToggleForm","setAttribute","stop_render","contragent_list","form_submit","_calc_table_wrap","search_request","_init_tab","_set_sort_icon","attach","_event_search","_clear_search","_event_filter","_event_filter_close","_event_filter_clear","_sort","block_button","_export_modal","show_scapr_out_modal","modal","_event_modal_hide","_form_change_state","_window_scroll_event","manual_sort","currentTarget","__widget__","search_timer","rightholder_item","timeout_error","type_name_short","form_widget","i_ajax_form","reset","clear_error_message","clear_error","select_toggle","manual_change","stringify","unblock_button","iModal","modal_template","node_link","strict_hide","reload","status_checker","setInterval","id","contragent_item_file","clearInterval","change_body","modal_scapr_out","modal_scapr_template","loading","task_id","warn","resultKeys","errors","tabs","iTab","buttons","boxes","button_active_class","active","is_toggle","is_multiple","buttons_list","box_list","current_button","current_box","button_parent","contragent_id","toggle","with","righloder_info","info","contragent","change_passport_type","selector_state","removeAttribute","bounding","getBoundingClientRect","scroll_top","scrollTop","window_height","bottom","top","document_height","max","scrollHeight","offsetHeight","clientHeight","_next_page","getExported","bSearch","t_14","t_15","t_16","bDropdownFilter","callWrap","makeKeywordArgs","macro_t_17","makeMacro","kwargs","caller","t_18","t_21","t_19","t_22","t_20","SafeString","t_25","t_23","t_26","t_24","t_29","t_27","t_30","t_28","t_17","macro_t_1","l_name","l_id","l_content_modifier","box_hidden_class","active_change","_event_click","_index","dispatch","class_name","invert","multiple","_change_active_element","ESC_KEY","PARAMS","STATE_HIDE","STATE_SHOW","html_string","close_button","width","_create","overflow","_insert_params","keyCode","STATE_ATTR","form_node","states","toggle_items","_set_default_state","change_state","_set_attribute","display","form_field_states","field_widget","set_validators","default_state","avaible_state","type_id","type_right_type","contragent_name_inner","Agreements","filter_data","_type_mask","form_suggest","contragent_id_field","contract_num_button","contract_num_input","button_add","filter_b_input","form_b_input","widget_form","ajax_form","contragent_id_list","form_suggest_clicked","contract_list","_event_suggest","_event_form_suggest","_get_contract_num","_fill_contragent_fields","_event_suggest_click","_modal_submit_check_id","button_name","table_content","contracts","create_suggest","id_field","stop_submit","set_error","start_submit","contract","contract_num","object","types","name_inner","References","ContractType","contract_type","edit_button","delete_button","b_modal_widget","_show_modal","contract_type_list","find","fields","Post","post_list","b_modal","_get_default","_modal_hide","contains","_edit_item","row","modal_edit","_render_content","post_like","Users","users","email_input","password_input","password_block","name_input","button_show","form_field","validate","action","_password_block_show","_check_email","_event_password_show","_event_sort","is_user","is_id_user","id_user","last_name","first_name","_password_block_hide","User","user","user_id","input_password","button_save","button_block_user","block_account","account_content","titles","b_button_submit_save","b_button_submit_block","_event_block_user","_event_password_save","password","account_template","TEMPLATES","address","tax","staff","passport","contact","EDIT_API_TYPES","company","business","person","Rightholder","edit","rightholder","documents","addresses","contacts","requisites","employees","taxes","regions","district_types","locality_types","city_types","street_types","address_list","addr","region","region_list","region_id","block","show_all","icons","switchers","add_buttons","agreement_type","wgt_scapr_out","block_tabs","_create_modal","list_items","actual_items_count","show_actual_switcher","show_all_switcher","innerText","block_name","changeModal","modal_elemets","account_select_toggle_widget","select_account_type","input_full_address","input_region","input_district","input_district_type","input_city","input_city_type","input_conglomerate","input_conglomerate_type","input_street","input_street_type","input_house","input_build","input_apartment","reformat_button","address_inputs","selectedOptions","select_tax","input_tax_rate","tax_rate","tax_list","percent","account_form","account_field_state","passport_form","select_document_type","num","input_post_name_r","input_post_name_d","suggest_widget","activeElement","post_r","post_d","_check_is_denied_to_edit_rightholder","disabled","getElementsByClassName","t_31","t_32","t_35","t_33","t_36","t_34","t_39","t_37","t_40","t_38","Agreement","agreement_id","status_selector","removal_button","rights_select","edit_modal","confirm_change_status","confirm_remove_contract","contragent_selected","default_status","status_name","change_content","_status_change","_delete_contract","_toggle_content","from","option","_event_suggest_input","_error_modal","confirm_button","errormodal_template","checkbox","bInput","l_attr","l_description","max_file_size","Files","files","add_file_button","edit_file_button","input_file","input_original_name","input_file_name","file","size","x_name","x_performers","x_publisher","x_author_music","x_author_text","x_album_name","x_isrc","TASK_INFO","task_completed","ObjectRights","objects_list","actualize_button","item_list","_actualize_action","stopPropagation","task","template_modal","process","checkTask","compare_result","json_result","count","error_template","template_error_modal","error_modal","setInitiated","ObjectsRightsCard","card","object_id","fixNumber","parseFloat","source","toFixed","track_balance","track_charged","track_income","check_for_delete","track_id","delete_error_modal","delete_object","merge","ObjectsRightsSynonyms","synonyms","pagingStatus","CAN_REQUEST","PENDING","ALL_LOADED","interval","ObjectsRightsMerge","performers","publisher","album_name","buttonCopyDefault","filterCheckboxes","filterInputs","tableContent","scrollBox","collapseAllButton","showModalButtons","initialRequestTrackListData","requestTrackListData","trackList","inputDelayTimer","confirmModal","requestTrackList","inputName","relatedCheckbox","coloredLines","additionInfoBlocks","wrappedRect","contentRect","triggerValue","height","forAdditions","filtersData","rights","calculateTrackRights","track","currentButton","line","initializeShowModalButton","isInitialized","getModalData","Modal","setCallbacks","afterMergeCallback","afterMerge","onMergeError","mergeError","mainObjectRight","mergeObjectRight","have_actual_rights_for_date","have_rights","payload","confirm_modal_template","ConfrimModal","onConfirm","confirmMerge","force_flag","requestData","macro_t_3","l_value","l_title","macro_t_5","l_type","onError","dataHolders","inputValue","cancelButton","sendButton","ConfirmModal","confirmButton","AgreementCatalogFiles","contract_id","button_reload","_change_file","DEFAULT_STATUS","x_real_track_name","x_real_track_performers","date_begin","date_end","DATE_FILTER_POSTFIX","begin","end","MAX_DATE","MIN_DATE","TASK_STATUS","TEXT","pass_catalog_cant_send_request_error","pass_catalog_self_pass_error","AgreementCatalog","object_count","objects_rights","spoiler_title","spoiler_box","button_conflict_export","button_pass_catalog","panel","panel_form","panel_date","panel_confirm_button","check_all_button","contract_count","contract_selected","contract_suggest","modal_conflict_export","modal_pass_catalog","object_list","contract_object","_init_checker","_contract_list","_pass_catalog_contract_list","_render_table","_change_status","_export_conflict_modal","_pass_catalog_modal","_event_contract_suggest","_event_suggest_track_click","_result_button_availability","_partial_rights_transfer","_prepare_date","modal_template_pass_catalog","modal_config","clear_form","suggest_input","list_id","contract_id_input","from_contract_id","to_contract_id","_pass_catalog_show_error","confirmed_event","submit_button","_pass_catalog_request_handler","_pass_catalog_confirm_dialog_handler","_event_pass_catalog_suggest","root_modal","confirm_event","cancel_event","confirm_dialog","destination_agreement","confirm_event_cb","cancel_event_cb","remove_events","filtered","filter","error_dom","modal_template_error","dom_element","modal_template_wait","spinner_dom","form_dom","parsed_response","_waiting_modal","close_button_dom","catalog_file","modal_template_conflict","catalogs","timestamp","parse_date","renderModal","contract_report","query_params","_convert_date","to_contract_num","id_list","object_id_list","checker","iChecker","checked_contracts","checked_items","macro_t_9","checkbox_all","checkbox_item_list","checkbox_list","_set_events","_event_check","check_all","ObjectComparison","button_copy_default","filter_checkboxes","button_add_new","scroll_wrapper","object_card_url","_generate_filter_data","_copy_default","_scroll_event","input_name","b_button_widget","_reinit_tab","AgreementCatalogObject","button_add_right","select_status","rights_data","object_track_id","_track_right_list","track_name","right_list","bErrorModal","STATUS_NOT_FOUND","file_id","FIELD_LIST","date_actuality","file_line","track_performers","track_publisher","track_author_text","track_album_name","track_duration","track_public_year","pud","track_territory","track_isrc","track_icpn","track_owner_code","track_vois_id","track_file_name","AgreementJournal","file_name","filename","input_info_date","panel_from","panel_input_date_from","panel_input_date_to","panel_select_status","panel_territory_input","panel_error","toCompareLinks","createTracksButton","suggest_track","suggest_file","file_modal","object_modal","date_from","date_to","panel_confirm","suggest_request","checked_tracks","_set_current_date","_set_table_height","_confirm_creation","_event_suggest_track","_event_suggest_file","_event_suggest_file_click","_file_modal_hide","_object_modal_hide","valid","old_date","new_date","failed","succeed","process_text","objects","name_like","track_id_list","filename_like","file_id_list","file_list","now","layout_padding","table_top","modal_confirm","tracks_params","_tracks_params","setupModal","confirm_modal","_set_filter","_create_tracks","tracks_modal","rawResponse","statusResponse","rawStatusResponse","right_type","x_track_performers","x_track_publisher","Rights","type_name","panel_publisher_input","panel_percent_input","contragent_suggest","track_suggest","_event_contragent_suggest","_event_track_suggest","_event_suggest_contract_click","_event_suggest_contragent_click","_modal_show","modal_wait_template","contract_id_list","name_inner_like","right","track_right_file","macro_t_13","uploadModal","Scapr","scarp","PATH","upload_button","btn","dataset","_make_upload_modal","attachEvents","upload_modal_template","file_type","bTab","query_body","Widget","_context","exist","bForm","iForm","_parent","_fields","_is_valid","make","field_instance","iFormField","remove_error_message","parse_square","create_square","part","o","reduce","acc","branch","branches","nextKey","temp","branchesExist","every","_field","_default_value","_default_checked_attr","_default_select_one_value","selectedIndex","_validators","timer","new_value","get_validators","_get_error_message","_change_state_validate","nextElementSibling","ARROW_DOWN","ARROW_UP","ENTER","ESC","TAB","suggest","suggest_list","_is_choosed","strict_input","_event_keydown","_suggest_choose","_lost_focus","_click_outside","_suggest_down","_suggest_up","_current_suggest","isInteger","click","iDropdown","modifier","createDocumentFragment","createTextNode","_event_click_suggest","parent_body","_status","_change_position","pageYOffset","left","boxHeight","inputHeight","diff","innerHeight","DocumentFragment","bModal","script","change_window_hash_reference","_change_window_hash","bDropdown","_dropdown","reset_button","values_wrap","values_result","values_buttons","filter_values_wrap_class","filter_state","set_get_params","_init","_event_reset","button_count","control_type","action_type","button_value","is_ignored","option_index","button_template","_event_button_click","is_dispatch","is_empty_form","_create_button","hide_filter_wrap","asc","desc","_toggle_filter_wrap","hasChildNodes","who","add_url_param","remove_url_param","queryStringToDict","dictToQueryString","param","replaceState","s_length","bit","second","dict_to_query_string","prefix","prefix_key","clear","_clear_input","_show_button","bTableSort","sort_buttons","sort_item","sort_type","sort_name","additional","bButtonSubmit","spinner","_create_spinner","bPaginate","limit","items","left_button","right_button","scrollTo","to","iAjaxForm","default_text","error_block","error_text","redirect","_is_stop","_is_reload","_event_submit","_to_timestamp","_convert_duration","start_timer","stop_timer","error_message","time","time_list","seconds_multiplier","append_alert","push_alert","alert_name","div","iSelectToggle","fields_validate","fields_validate_frozen","_event_change","attribute_name","is","_check_form_field","attribute_name_disabled","_set_disable","__validate__","iInputAggregation","donor","acceptor","_event_focus","inner_value","bTableRowRemoval","data_id","data_name","_submit_removal","iDateComparison","linked_field","form_fields","comparison_type","_event_input_comparison","_comparison_lt","_comparison_gt","bInputToday","node_widget","DELETE_KEY","BACKSPACE_KEY","ENTER_KEY","bInputMask","form_field_widget","pattern","_event_blur","_event_keypress","_event_input","setSelectionRange","_merge_value","cursor_start","selectionStart","cursor_end","selectionEnd","buffer_value","_replace_by_mask","cursor","_check_regexp","mask_true_length","value_split","mask_split","step","start","key_code","substring","bConfirmModal","cancel_button","_cancel_action","_confirm_action","bPassportType","type_selector","linked_nodes","fields_validators","passport_name","passport_date","passport_issued","passport_department"],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;ACtCA;;AAEA;;AAEA;;;;AACA;;AACA;;AA+BA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AApDAA,kBAAOC,MAAP,CAAc;AACVC,WAAM,SADI;AAEVC,WAAM;AAFI,EAAd;;AAKA,4BAAc,SAAd,EAAyB,CACrB,mBAAAC,CAAQ,GAAR,CADqB,EAErB,mBAAAA,CAAQ,GAAR,CAFqB,EAGrB,mBAAAA,CAAQ,GAAR,CAHqB,EAIrB,mBAAAA,CAAQ,GAAR,CAJqB,EAKrB,mBAAAA,CAAQ,GAAR,CALqB,EAMrB,mBAAAA,CAAQ,GAAR,CANqB,EAOrB,mBAAAA,CAAQ,GAAR,CAPqB,EAQrB,mBAAAA,CAAQ,GAAR,CARqB,EASrB,mBAAAA,CAAQ,GAAR,CATqB,EAUrB,mBAAAA,CAAQ,GAAR,CAVqB,EAWrB,mBAAAA,CAAQ,GAAR,CAXqB,EAYrB,mBAAAA,CAAQ,GAAR,CAZqB,EAarB,mBAAAA,CAAQ,GAAR,CAbqB,EAcrB,mBAAAA,CAAQ,GAAR,CAdqB,EAerB,mBAAAA,CAAQ,GAAR,CAfqB,EAgBrB,mBAAAA,CAAQ,GAAR,CAhBqB,EAiBrB,mBAAAA,CAAQ,GAAR,CAjBqB,EAkBrB,mBAAAA,CAAQ,GAAR,CAlBqB,EAmBrB,mBAAAA,CAAQ,GAAR,CAnBqB,CAAzB;;AAsBA,4BAAc,MAAd,EAAsB,OAAtB;;AA4BAJ,kBAAOK,KAAP,GAAeC,MAAf,G;;;;;;mEC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,EAAC;AACD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAqC,QAAQ,mBAAmB,EAAE,EAAE,EAAE;AACtE,MAAK;AACL;AACA;AACA,8CAA6C,iBAAiB;;AAE9D;AACA;AACA;AACA;;AAEA;AACA,oCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,IAAG,+BAA+B,gCAAgC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC,4BAA4B,EAAE;AAC9D,sCAAqC,6BAA6B;AAClE,QAAO;AACP,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA,kCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAsB;AACtB,QAAO;AACP;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAsC,aAAa;AACnD,yCAAwC,eAAe;AACvD,yCAAwC,eAAe;AACvD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB;AACpB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,eAAe;AACtC,+BAA8B,eAAe;AAC7C;AACA;AACA;AACA;AACA,oCAAmC,YAAY;AAC/C,qCAAoC,UAAU;AAC9C,oBAAmB,kBAAkB;;AAErC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA6B,yEAAyE,EAAE;AACxG,2BAA0B,2CAA2C,EAAE;AACvE,0BAAyB,2CAA2C,EAAE;AACtE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0CAAyC;AACzC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;;AAEA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,iCAAgC,UAAU;AAC1C,qDAAoD,eAAe;AACnE;AACA,MAAK;;AAEL;AACA;AACA,sBAAqB,UAAU,EAAE;AACjC,2CAA0C,gCAAgC;AAC1E;AACA,MAAK;;AAEL;AACA;AACA;AACA,uBAAsB,wBAAwB;AAC9C;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,+CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,WAAW;AAChD;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,QAAQ;AACrD;AACA,QAAO;AACP,MAAK;AACL;AACA,8CAA6C,QAAQ;AACrD;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA,2CAA0C,aAAa;AACvD;AACA;AACA;AACA;AACA;;AAEA;AACA,uDAAsD,aAAa;AACnE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,iDAAgD,YAAY;AAC5D;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC,OAAO,4BAA4B,EAAE;AACrE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAoB,WAAW;AAC/B,qBAAoB,iCAAiC;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAwD,cAAc;AACtE;AACA,kDAAiD,cAAc;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,oBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA,sBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc,SAAS;AACvB;AACA;AACA;AACA;AACA,YAAW;AACX;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAiC,mBAAmB;AACpD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kCAAiC,4BAA4B;AAC7D;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,YAAY;AACxC;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,YAAY;AACjC;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,8EAA6E,aAAa;AAC1F;AACA;AACA,kEAAiE,+DAA+D,EAAE;AAClI;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA,6CAA4C,sBAAsB,EAAE;AACpE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAAyB,aAAa;AACtC,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,+CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA8B,aAAa,EAAE;AAC7C;AACA;AACA,oCAAmC,aAAa,EAAE;AAClD;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAwC,oBAAoB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,SAAS;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA4C,OAAO;AACnD;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB;AACvB,UAAS;AACT,sCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA,qDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA,+DAA8D,2BAA2B,EAAE;AAC3F;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,yDAAwD,0BAA0B,EAAE;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA,iEAAgE,0CAA0C,EAAE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,iEAAgE,sDAAsD,EAAE;AACxH;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,iEAAgE,2BAA2B,EAAE;AAC7F;AACA;AACA;AACA,uCAAsC,cAAc;AACpD;AACA,QAAO;AACP;AACA;AACA;AACA,qEAAoE,+BAA+B,EAAE;AACrG;AACA;AACA;AACA,uCAAsC,aAAa;AACnD;AACA,QAAO;AACP;AACA;AACA;AACA,mEAAkE,6BAA6B,EAAE;AACjG;AACA;AACA;AACA,uCAAsC,cAAc;AACpD;AACA,QAAO;AACP;AACA;AACA;AACA,qEAAoE,+BAA+B,EAAE;AACrG;AACA;AACA;AACA,uCAAsC,aAAa;AACnD;AACA,QAAO;AACP;AACA;AACA;AACA,8EAA6E,wCAAwC,EAAE;AACvH;AACA;AACA;AACA,uCAAsC,cAAc;AACpD;AACA,QAAO;AACP;AACA;AACA;AACA,yEAAwE,mCAAmC,EAAE;AAC7G;AACA;AACA;AACA,uCAAsC,cAAc;AACpD;AACA,QAAO;AACP;AACA;AACA;AACA,qEAAoE,qCAAqC,EAAE;AAC3G;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA,4CAA2C,gBAAgB;AAC3D,IAAG;AACH;AACA,4CAA2C,0BAA0B;AACrE,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B;;AAE9B;AACA;AACA;AACA,yCAAwC,YAAY;AACpD,qBAAoB,UAAU;AAC9B,4BAA2B,UAAU;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA,qBAAoB,UAAU;AAC9B,sBAAqB,kBAAkB;AACvC,qBAAoB,iBAAiB;AACrC;AACA;AACA;;AAEA;AACA;AACA,MAAK;;AAEL;AACA;AACA,qBAAoB,UAAU;AAC9B;AACA;AACA,oBAAmB,QAAQ;AAC3B;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,qBAAoB,UAAU,EAAE;AAChC,4BAA2B,YAAY;AACvC,gCAA+B,iBAAiB;;AAEhD;AACA;AACA,MAAK;;AAEL;AACA;AACA,6BAA4B,WAAW;AACvC,2CAA0C,UAAU;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;;AAEA;;AAEA;AACA;AACA,2CAA0C,UAAU;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,uCAAsC,UAAU;AAChD;AACA,qBAAoB,UAAU;AAC9B,sBAAqB,WAAW;;AAEhC;AACA,MAAK;;AAEL;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,uCAAsC;AACtC;AACA;AACA;AACA;AACA,8EAA6E,QAAQ;;AAErF;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA6E,qBAAqB,EAAE,EAAE;;AAEtG;AACA,0CAAyC,UAAU;AACnD,yCAAwC,SAAS;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,YAAY;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,YAAY;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+BAA8B,QAAQ;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,+BAA8B,QAAQ;AACtC;AACA;AACA;AACA,eAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA,6BAA4B,QAAQ;AACpC;AACA;AACA;AACA;AACA,2BAA0B;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B;AAC5B;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B;AAC5B;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B;AAC3B;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB;AACvB;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA,sCAAqC,sCAAsC;AAC3E;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAA+B,uBAAuB;AACtD;AACA;AACA;AACA;AACA,+CAA8C;AAC9C,MAAK;AACL;AACA;AACA,MAAK;AACL,iEAAgE,sCAAsC,EAAE;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C;AAC7C,QAAO;AACP,qBAAoB;AACpB;AACA,uBAAsB;AACtB,MAAK;;AAEL;AACA;AACA;AACA;AACA,8CAA6C,WAAW,mBAAmB,YAAY,EAAE,EAAE;AAC3F;AACA;AACA,MAAK;;AAEL;AACA;AACA,iCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK,IAAI;AACT;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA;AACA,uCAAsC,gCAAgC;AACtE;AACA;AACA;AACA;AACA;AACA,kCAAiC,OAAO;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA;AACA,uCAAsC,gCAAgC;AACtE;AACA;AACA;AACA;AACA;AACA,kCAAiC,OAAO;AACxC;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf,wEAAuE;AACvE;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA,wCAAuC,aAAa;AACpD;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA,UAAS;AACT;;AAEA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA,YAAW;AACX;AACA;AACA;AACA,cAAa;AACb;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,+BAA8B;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA,cAAa;AACb;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAkE,uCAAuC,EAAE;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW;AACX,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;;AAEP;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;;AAEA;AACA,QAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,2CAA0C;AAC1C;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,+DAA8D,WAAW;AACzE;AACA,qIAAoI,aAAa;AACjJ;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,sDAAqD;AACrD,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oCAAmC,+CAA+C,EAAE;AACpF,0BAAyB,2CAA2C,EAAE;AACtE,8BAA6B,6CAA6C,EAAE;AAC5E,4BAA2B,yCAAyC,EAAE;AACtE,8BAA6B,0CAA0C,EAAE;AACzE,2CAA0C,oDAAoD,EAAE;AAChG,wCAAuC,kDAAkD,EAAE;AAC3F,kCAAiC,yCAAyC,EAAE;AAC5E,+BAA8B,8CAA8C,EAAE;AAC9E,8BAA6B,6CAA6C,EAAE;AAC5E,gCAA+B,8CAA8C,EAAE;AAC/E,0BAAyB,2CAA2C,EAAE;AACtE,0BAAyB,2CAA2C;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA,uBAAsB,cAAc,EAAE;AACtC;AACA,sBAAqB,cAAc,EAAE;AACrC,sDAAqD,aAAa,EAAE;AACpE,8CAA6C,aAAa,EAAE;AAC5D,gBAAe;AACf;AACA,+BAA8B,IAAI,aAAa,EAAE;AACjD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,aAAa,EAAE;AACrC,oDAAmD,gDAAgD;AACnG,IAAG;AACH;AACA;AACA;AACA,uCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC,cAAa;AACb;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;;;;;;;ACjzHD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;A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A;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA,QAAO;AACP;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,iBAAgB;AAChB,kBAAiB;AACjB,kBAAiB;AACjB,gBAAe;AACf,gBAAe;AACf;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,qCAAoC;AACpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oEAAmE,iBAAiB;AACpF,kBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAiB,KAAK;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAmC,KAAK;AACxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAiB,cAAc;AAC/B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA,yCAAwC;;AAExC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAc,mBAAmB;AACjC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAM;AACN;AACA,OAAM;AACN;AACA,OAAM;AACN;AACA;AACA;AACA;;;AAGA,QAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAsB,cAAc,EAAE;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAkB;AAClB;AACA,WAAU;AACV,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;;AAEA;AACA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,yBAAyB;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;;AAEd;AACA;AACA,OAAM;;AAEN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;;AAEV;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;;AAEA;AACA,OAAM;;AAEN;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA,sBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA,oDAAmD;AACnD,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;;AAEA,6CAA4C;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,WAAW;AACzC;AACA;AACA;AACA;;AAEA;AACA,OAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;;AAEA;AACA;;AAEA;AACA,6CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB;AACpB;AACA;AACA,+BAA8B;AAC9B,OAAM;;AAEN;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAM;;AAEN;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;;AAGA,QAAO;AACP;AACA;;;;AAIA,QAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;;;AAGA,QAAO;AACP;AACA;;AAEA,gDAA+C;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAiE,kBAAkB;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,oBAAoB;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,8BAA6B,4BAA4B,aAAa,EAAE;;AAExE,QAAO;AACP;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,yCAAwC,KAAK,EAAE;AAC/C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA6C;;;AAG7C,QAAO;AACP;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;;AAEA,oBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qCAAoC,eAAe;AACnD;AACA;AACA;;AAEA;AACA;;AAEA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAU;AACV;AACA,WAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAU;;AAEV;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,sBAAqB,gBAAgB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAM;;AAEN;AACA;;AAEA;AACA;AACA;AACA,eAAc;AACd;;AAEA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAAyB;AACzB;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA,SAAQ;AACR,OAAM;;AAEN;AACA;AACA;AACA,SAAQ;AACR,OAAM;;AAEN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,UAAU,EAAE;AACzD;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;;AAEA,sBAAqB,UAAU;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAM;;AAEN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAc;AACd;;AAEA,wBAAuB,gBAAgB;AACvC;AACA;;AAEA;AACA,OAAM;;AAEN;AACA;AACA,0CAAyC,UAAU,EAAE;;AAErD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;;AAEV;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA8C;AAC9C,WAAU;AACV;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA,wBAAuB,kBAAkB;AACzC;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;AACA,mBAAkB;AAClB,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;;AAEA;;AAEA;AACA;AACA,qCAAoC,yBAAyB;AAC7D;AACA,gDAA+C,EAAE;AACjD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,WAAU;;AAEV;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;AAGA,QAAO;AACP;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAqB,oBAAoB;AACzC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,+BAA8B,qBAAqB;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,eAAc;AACd,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,+CAA8C;AAC9C,2DAA0D;AAC1D,oEAAmE;AACnE;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAuB,gBAAgB;AACvC;;AAEA;AACA,mDAAkD;AAClD,+DAA8D;AAC9D,wEAAuE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,QAAO;AACP;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAU;;AAEV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAU;AACV;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA8B,QAAQ;AACtC;AACA;AACA,eAAc;AACd,+BAA8B,QAAQ;AACtC;AACA;AACA;AACA;AACA,WAAU;;AAEV;AACA,cAAa;;AAEb;AACA;AACA,WAAU;;AAEV;AACA;AACA;AACA;AACA;;AAEA;;;AAGA,QAAO;AACP;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA,wBAAuB;AACvB,sDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;;;AAGA,QAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;;AAEA;AACA;AACA;AACA,eAAc;AACd;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA,GAAE;;AAEF;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,+BAA8B;AAC9B,uBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA,uBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA,uBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA,SAAQ;AACR;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,2DAA0D;AAC1D;;AAEA;AACA;AACA;AACA,2BAA0B;AAC1B;;AAEA;AACA,2BAA0B;AAC1B;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA,EAAC;AACD,E;;;;;;;;AC1oFA;;AAGAxQ,QAAOC,OAAP,GAAiB,UAASkQ,GAAT,EAAc;AAC3BA,SAAIoC,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AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,aAAa;AACxB,cAAa,EAAE;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,SAAS;AACtB;AACA;AACA,kBAAiB;AACjB,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,kBAAiB;AACjB,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,qBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,aAAa;AACxB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB,QAAQ,OAAO,SAAS,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;ACl6BA,KAAIpJ,WAAW,mBAAAtW,CAAQ,EAAR,CAA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","file":"main.js?hash=be506b8466e70766f1b9","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/static/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 2a497fd99c543782f0f9","import 'es6-shim'\n\nimport './main.scss'\n\nimport Router from 'blocko/router'\nimport {change_config} from 'blocko/config'\nimport 'blocko/polyfill'\n\nRouter.config({\n mode: 'history',\n root: ''\n});\n\nchange_config('widgets', [\n require('common.web/blocks/b-tab/b-tab'),\n require('common.web/blocks/b-form/b-form'),\n require('common.web/blocks/b-modal/b-modal'),\n require('common.web/blocks/b-dropdown/b-dropdown'),\n require('common.web/blocks/b-dropdown-filter/b-dropdown-filter'),\n require('common.web/blocks/b-search/b-search'),\n require('common.web/blocks/b-table-sort/b-table-sort'),\n require('common.web/blocks/b-button-submit/b-button-submit'),\n require('blocko/widgets/b-input/b-input'),\n require('blocko/widgets/b-paginate/b-paginate'),\n require('./templates/i-ajax-form/i-ajax-form'),\n require('./templates/i-select-toggle/i-select-toggle'),\n require('./templates/i-input-aggregation/i-input-aggregation'),\n require('./templates/b-table-row-removal/b-table-row-removal'),\n require('./templates/i-date-comparison/i-date-comparison'),\n require('./templates/b-input-today/b-input-today'),\n require('./templates/b-input-mask/b-input-mask'),\n require('./templates/b-confirm-modal/b-confirm-modal'),\n require('./templates/b-passport-type/b-passport-type')\n]);\n\nchange_config('lang', 'ru-RU');\n\nimport './validate'\nimport './controllers/auth'\nimport './controllers/error'\nimport './controllers/home'\nimport './controllers/agreements'\nimport './controllers/references'\nimport './controllers/contract_type'\nimport './controllers/post'\nimport './controllers/users'\nimport './controllers/user'\nimport './controllers/rightholder'\nimport './controllers/agreement'\nimport './controllers/files'\nimport './controllers/objects_rights'\nimport './controllers/objects_rights_card'\nimport './controllers/objects_rights_synonyms'\nimport './controllers/objects_rights_merge'\nimport './controllers/agreement_catalog_files'\nimport './controllers/agreement_catalog'\nimport './controllers/object_comparison'\nimport './controllers/agreement_catalog_object'\nimport './controllers/agreement_journal'\nimport './controllers/rights'\nimport './controllers/scapr'\n\n\nRouter.check().listen();\n\n\n\n// WEBPACK FOOTER //\n// ./source/main.js","/*!\n * https://github.com/paulmillr/es6-shim\n * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com)\n * and contributors, MIT License\n * es6-shim: v0.35.4\n * see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE\n * Details and documentation:\n * https://github.com/paulmillr/es6-shim/\n */\n\n// UMD (Universal Module Definition)\n// see https://github.com/umdjs/umd/blob/master/returnExports.js\n(function (root, factory) {\n /*global define, module, exports */\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory);\n } else if (typeof exports === 'object') {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n root.returnExports = factory();\n }\n}(this, function () {\n 'use strict';\n\n var _apply = Function.call.bind(Function.apply);\n var _call = Function.call.bind(Function.call);\n var isArray = Array.isArray;\n var keys = Object.keys;\n\n var not = function notThunker(func) {\n return function notThunk() {\n return !_apply(func, this, arguments);\n };\n };\n var throwsError = function (func) {\n try {\n func();\n return false;\n } catch (e) {\n return true;\n }\n };\n var valueOrFalseIfThrows = function valueOrFalseIfThrows(func) {\n try {\n return func();\n } catch (e) {\n return false;\n }\n };\n\n var isCallableWithoutNew = not(throwsError);\n var arePropertyDescriptorsSupported = function () {\n // if Object.defineProperty exists but throws, it's IE 8\n return !throwsError(function () {\n return Object.defineProperty({}, 'x', { get: function () { } }); // eslint-disable-line getter-return\n });\n };\n var supportsDescriptors = !!Object.defineProperty && arePropertyDescriptorsSupported();\n var functionsHaveNames = (function foo() {}).name === 'foo'; // eslint-disable-line no-extra-parens\n\n var _forEach = Function.call.bind(Array.prototype.forEach);\n var _reduce = Function.call.bind(Array.prototype.reduce);\n var _filter = Function.call.bind(Array.prototype.filter);\n var _some = Function.call.bind(Array.prototype.some);\n\n var defineProperty = function (object, name, value, force) {\n if (!force && name in object) { return; }\n if (supportsDescriptors) {\n Object.defineProperty(object, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: value\n });\n } else {\n object[name] = value;\n }\n };\n\n // Define configurable, writable and non-enumerable props\n // if they don’t exist.\n var defineProperties = function (object, map, forceOverride) {\n _forEach(keys(map), function (name) {\n var method = map[name];\n defineProperty(object, name, method, !!forceOverride);\n });\n };\n\n var _toString = Function.call.bind(Object.prototype.toString);\n var isCallable = typeof /abc/ === 'function' ? function IsCallableSlow(x) {\n // Some old browsers (IE, FF) say that typeof /abc/ === 'function'\n return typeof x === 'function' && _toString(x) === '[object Function]';\n } : function IsCallableFast(x) { return typeof x === 'function'; };\n\n var Value = {\n getter: function (object, name, getter) {\n if (!supportsDescriptors) {\n throw new TypeError('getters require true ES5 support');\n }\n Object.defineProperty(object, name, {\n configurable: true,\n enumerable: false,\n get: getter\n });\n },\n proxy: function (originalObject, key, targetObject) {\n if (!supportsDescriptors) {\n throw new TypeError('getters require true ES5 support');\n }\n var originalDescriptor = Object.getOwnPropertyDescriptor(originalObject, key);\n Object.defineProperty(targetObject, key, {\n configurable: originalDescriptor.configurable,\n enumerable: originalDescriptor.enumerable,\n get: function getKey() { return originalObject[key]; },\n set: function setKey(value) { originalObject[key] = value; }\n });\n },\n redefine: function (object, property, newValue) {\n if (supportsDescriptors) {\n var descriptor = Object.getOwnPropertyDescriptor(object, property);\n descriptor.value = newValue;\n Object.defineProperty(object, property, descriptor);\n } else {\n object[property] = newValue;\n }\n },\n defineByDescriptor: function (object, property, descriptor) {\n if (supportsDescriptors) {\n Object.defineProperty(object, property, descriptor);\n } else if ('value' in descriptor) {\n object[property] = descriptor.value;\n }\n },\n preserveToString: function (target, source) {\n if (source && isCallable(source.toString)) {\n defineProperty(target, 'toString', source.toString.bind(source), true);\n }\n }\n };\n\n // Simple shim for Object.create on ES3 browsers\n // (unlike real shim, no attempt to support `prototype === null`)\n var create = Object.create || function (prototype, properties) {\n var Prototype = function Prototype() {};\n Prototype.prototype = prototype;\n var object = new Prototype();\n if (typeof properties !== 'undefined') {\n keys(properties).forEach(function (key) {\n Value.defineByDescriptor(object, key, properties[key]);\n });\n }\n return object;\n };\n\n var supportsSubclassing = function (C, f) {\n if (!Object.setPrototypeOf) { return false; /* skip test on IE < 11 */ }\n return valueOrFalseIfThrows(function () {\n var Sub = function Subclass(arg) {\n var o = new C(arg);\n Object.setPrototypeOf(o, Subclass.prototype);\n return o;\n };\n Object.setPrototypeOf(Sub, C);\n Sub.prototype = create(C.prototype, {\n constructor: { value: Sub }\n });\n return f(Sub);\n });\n };\n\n var getGlobal = function () {\n /* global self, window, global */\n // the only reliable means to get the global object is\n // `Function('return this')()`\n // However, this causes CSP violations in Chrome apps.\n if (typeof self !== 'undefined') { return self; }\n if (typeof window !== 'undefined') { return window; }\n if (typeof global !== 'undefined') { return global; }\n throw new Error('unable to locate global object');\n };\n\n var globals = getGlobal();\n var globalIsFinite = globals.isFinite;\n var _indexOf = Function.call.bind(String.prototype.indexOf);\n var _arrayIndexOfApply = Function.apply.bind(Array.prototype.indexOf);\n var _concat = Function.call.bind(Array.prototype.concat);\n // var _sort = Function.call.bind(Array.prototype.sort);\n var _strSlice = Function.call.bind(String.prototype.slice);\n var _push = Function.call.bind(Array.prototype.push);\n var _pushApply = Function.apply.bind(Array.prototype.push);\n var _shift = Function.call.bind(Array.prototype.shift);\n var _max = Math.max;\n var _min = Math.min;\n var _floor = Math.floor;\n var _abs = Math.abs;\n var _exp = Math.exp;\n var _log = Math.log;\n var _sqrt = Math.sqrt;\n var _hasOwnProperty = Function.call.bind(Object.prototype.hasOwnProperty);\n var ArrayIterator; // make our implementation private\n var noop = function () {};\n\n var OrigMap = globals.Map;\n var origMapDelete = OrigMap && OrigMap.prototype['delete'];\n var origMapGet = OrigMap && OrigMap.prototype.get;\n var origMapHas = OrigMap && OrigMap.prototype.has;\n var origMapSet = OrigMap && OrigMap.prototype.set;\n\n var Symbol = globals.Symbol || {};\n var symbolSpecies = Symbol.species || '@@species';\n\n var numberIsNaN = Number.isNaN || function isNaN(value) {\n // NaN !== NaN, but they are identical.\n // NaNs are the only non-reflexive value, i.e., if x !== x,\n // then x is NaN.\n // isNaN is broken: it converts its argument to number, so\n // isNaN('foo') => true\n return value !== value;\n };\n var numberIsFinite = Number.isFinite || function isFinite(value) {\n return typeof value === 'number' && globalIsFinite(value);\n };\n var _sign = isCallable(Math.sign) ? Math.sign : function sign(value) {\n var number = Number(value);\n if (number === 0) { return number; }\n if (numberIsNaN(number)) { return number; }\n return number < 0 ? -1 : 1;\n };\n var _log1p = function log1p(value) {\n var x = Number(value);\n if (x < -1 || numberIsNaN(x)) { return NaN; }\n if (x === 0 || x === Infinity) { return x; }\n if (x === -1) { return -Infinity; }\n\n return (1 + x) - 1 === 0 ? x : x * (_log(1 + x) / ((1 + x) - 1));\n };\n\n // taken directly from https://github.com/ljharb/is-arguments/blob/master/index.js\n // can be replaced with require('is-arguments') if we ever use a build process instead\n var isStandardArguments = function isArguments(value) {\n return _toString(value) === '[object Arguments]';\n };\n var isLegacyArguments = function isArguments(value) {\n return value !== null &&\n typeof value === 'object' &&\n typeof value.length === 'number' &&\n value.length >= 0 &&\n _toString(value) !== '[object Array]' &&\n _toString(value.callee) === '[object Function]';\n };\n var isArguments = isStandardArguments(arguments) ? isStandardArguments : isLegacyArguments;\n\n var Type = {\n primitive: function (x) { return x === null || (typeof x !== 'function' && typeof x !== 'object'); },\n string: function (x) { return _toString(x) === '[object String]'; },\n regex: function (x) { return _toString(x) === '[object RegExp]'; },\n symbol: function (x) {\n return typeof globals.Symbol === 'function' && typeof x === 'symbol';\n }\n };\n\n var overrideNative = function overrideNative(object, property, replacement) {\n var original = object[property];\n defineProperty(object, property, replacement, true);\n Value.preserveToString(object[property], original);\n };\n\n // eslint-disable-next-line no-restricted-properties\n var hasSymbols = typeof Symbol === 'function' && typeof Symbol['for'] === 'function' && Type.symbol(Symbol());\n\n // This is a private name in the es6 spec, equal to '[Symbol.iterator]'\n // we're going to use an arbitrary _-prefixed name to make our shims\n // work properly with each other, even though we don't have full Iterator\n // support. That is, `Array.from(map.keys())` will work, but we don't\n // pretend to export a \"real\" Iterator interface.\n var $iterator$ = Type.symbol(Symbol.iterator) ? Symbol.iterator : '_es6-shim iterator_';\n // Firefox ships a partial implementation using the name @@iterator.\n // https://bugzilla.mozilla.org/show_bug.cgi?id=907077#c14\n // So use that name if we detect it.\n if (globals.Set && typeof new globals.Set()['@@iterator'] === 'function') {\n $iterator$ = '@@iterator';\n }\n\n // Reflect\n if (!globals.Reflect) {\n defineProperty(globals, 'Reflect', {}, true);\n }\n var Reflect = globals.Reflect;\n\n var $String = String;\n\n /* global document */\n var domAll = (typeof document === 'undefined' || !document) ? null : document.all;\n var isNullOrUndefined = domAll == null ? function isNullOrUndefined(x) {\n return x == null;\n } : function isNullOrUndefinedAndNotDocumentAll(x) {\n return x == null && x !== domAll;\n };\n\n var ES = {\n // http://www.ecma-international.org/ecma-262/6.0/#sec-call\n Call: function Call(F, V) {\n var args = arguments.length > 2 ? arguments[2] : [];\n if (!ES.IsCallable(F)) {\n throw new TypeError(F + ' is not a function');\n }\n return _apply(F, V, args);\n },\n\n RequireObjectCoercible: function (x, optMessage) {\n if (isNullOrUndefined(x)) {\n throw new TypeError(optMessage || 'Cannot call method on ' + x);\n }\n return x;\n },\n\n // This might miss the \"(non-standard exotic and does not implement\n // [[Call]])\" case from\n // http://www.ecma-international.org/ecma-262/6.0/#sec-typeof-operator-runtime-semantics-evaluation\n // but we can't find any evidence these objects exist in practice.\n // If we find some in the future, you could test `Object(x) === x`,\n // which is reliable according to\n // http://www.ecma-international.org/ecma-262/6.0/#sec-toobject\n // but is not well optimized by runtimes and creates an object\n // whenever it returns false, and thus is very slow.\n TypeIsObject: function (x) {\n if (x === void 0 || x === null || x === true || x === false) {\n return false;\n }\n return typeof x === 'function' || typeof x === 'object' || x === domAll;\n },\n\n ToObject: function (o, optMessage) {\n return Object(ES.RequireObjectCoercible(o, optMessage));\n },\n\n IsCallable: isCallable,\n\n IsConstructor: function (x) {\n // We can't tell callables from constructors in ES5\n return ES.IsCallable(x);\n },\n\n ToInt32: function (x) {\n return ES.ToNumber(x) >> 0;\n },\n\n ToUint32: function (x) {\n return ES.ToNumber(x) >>> 0;\n },\n\n ToNumber: function (value) {\n if (_toString(value) === '[object Symbol]') {\n throw new TypeError('Cannot convert a Symbol value to a number');\n }\n return +value;\n },\n\n ToInteger: function (value) {\n var number = ES.ToNumber(value);\n if (numberIsNaN(number)) { return 0; }\n if (number === 0 || !numberIsFinite(number)) { return number; }\n return (number > 0 ? 1 : -1) * _floor(_abs(number));\n },\n\n ToLength: function (value) {\n var len = ES.ToInteger(value);\n if (len <= 0) { return 0; } // includes converting -0 to +0\n if (len > Number.MAX_SAFE_INTEGER) { return Number.MAX_SAFE_INTEGER; }\n return len;\n },\n\n SameValue: function (a, b) {\n if (a === b) {\n // 0 === -0, but they are not identical.\n if (a === 0) { return 1 / a === 1 / b; }\n return true;\n }\n return numberIsNaN(a) && numberIsNaN(b);\n },\n\n SameValueZero: function (a, b) {\n // same as SameValue except for SameValueZero(+0, -0) == true\n return (a === b) || (numberIsNaN(a) && numberIsNaN(b));\n },\n\n IsIterable: function (o) {\n return ES.TypeIsObject(o) && (typeof o[$iterator$] !== 'undefined' || isArguments(o));\n },\n\n GetIterator: function (o) {\n if (isArguments(o)) {\n // special case support for `arguments`\n return new ArrayIterator(o, 'value');\n }\n var itFn = ES.GetMethod(o, $iterator$);\n if (!ES.IsCallable(itFn)) {\n // Better diagnostics if itFn is null or undefined\n throw new TypeError('value is not an iterable');\n }\n var it = ES.Call(itFn, o);\n if (!ES.TypeIsObject(it)) {\n throw new TypeError('bad iterator');\n }\n return it;\n },\n\n GetMethod: function (o, p) {\n var func = ES.ToObject(o)[p];\n if (isNullOrUndefined(func)) {\n return void 0;\n }\n if (!ES.IsCallable(func)) {\n throw new TypeError('Method not callable: ' + p);\n }\n return func;\n },\n\n IteratorComplete: function (iterResult) {\n return !!iterResult.done;\n },\n\n IteratorClose: function (iterator, completionIsThrow) {\n var returnMethod = ES.GetMethod(iterator, 'return');\n if (returnMethod === void 0) {\n return;\n }\n var innerResult, innerException;\n try {\n innerResult = ES.Call(returnMethod, iterator);\n } catch (e) {\n innerException = e;\n }\n if (completionIsThrow) {\n return;\n }\n if (innerException) {\n throw innerException;\n }\n if (!ES.TypeIsObject(innerResult)) {\n throw new TypeError(\"Iterator's return method returned a non-object.\");\n }\n },\n\n IteratorNext: function (it) {\n var result = arguments.length > 1 ? it.next(arguments[1]) : it.next();\n if (!ES.TypeIsObject(result)) {\n throw new TypeError('bad iterator');\n }\n return result;\n },\n\n IteratorStep: function (it) {\n var result = ES.IteratorNext(it);\n var done = ES.IteratorComplete(result);\n return done ? false : result;\n },\n\n Construct: function (C, args, newTarget, isES6internal) {\n var target = typeof newTarget === 'undefined' ? C : newTarget;\n\n if (!isES6internal && Reflect.construct) {\n // Try to use Reflect.construct if available\n return Reflect.construct(C, args, target);\n }\n // OK, we have to fake it. This will only work if the\n // C.[[ConstructorKind]] == \"base\" -- but that's the only\n // kind we can make in ES5 code anyway.\n\n // OrdinaryCreateFromConstructor(target, \"%ObjectPrototype%\")\n var proto = target.prototype;\n if (!ES.TypeIsObject(proto)) {\n proto = Object.prototype;\n }\n var obj = create(proto);\n // Call the constructor.\n var result = ES.Call(C, obj, args);\n return ES.TypeIsObject(result) ? result : obj;\n },\n\n SpeciesConstructor: function (O, defaultConstructor) {\n var C = O.constructor;\n if (C === void 0) {\n return defaultConstructor;\n }\n if (!ES.TypeIsObject(C)) {\n throw new TypeError('Bad constructor');\n }\n var S = C[symbolSpecies];\n if (isNullOrUndefined(S)) {\n return defaultConstructor;\n }\n if (!ES.IsConstructor(S)) {\n throw new TypeError('Bad @@species');\n }\n return S;\n },\n\n CreateHTML: function (string, tag, attribute, value) {\n var S = ES.ToString(string);\n var p1 = '<' + tag;\n if (attribute !== '') {\n var V = ES.ToString(value);\n var escapedV = V.replace(/\"/g, '"');\n p1 += ' ' + attribute + '=\"' + escapedV + '\"';\n }\n var p2 = p1 + '>';\n var p3 = p2 + S;\n return p3 + '';\n },\n\n IsRegExp: function IsRegExp(argument) {\n if (!ES.TypeIsObject(argument)) {\n return false;\n }\n var isRegExp = argument[Symbol.match];\n if (typeof isRegExp !== 'undefined') {\n return !!isRegExp;\n }\n return Type.regex(argument);\n },\n\n ToString: function ToString(string) {\n return $String(string);\n }\n };\n\n // Well-known Symbol shims\n if (supportsDescriptors && hasSymbols) {\n var defineWellKnownSymbol = function defineWellKnownSymbol(name) {\n if (Type.symbol(Symbol[name])) {\n return Symbol[name];\n }\n // eslint-disable-next-line no-restricted-properties\n var sym = Symbol['for']('Symbol.' + name);\n Object.defineProperty(Symbol, name, {\n configurable: false,\n enumerable: false,\n writable: false,\n value: sym\n });\n return sym;\n };\n if (!Type.symbol(Symbol.search)) {\n var symbolSearch = defineWellKnownSymbol('search');\n var originalSearch = String.prototype.search;\n defineProperty(RegExp.prototype, symbolSearch, function search(string) {\n return ES.Call(originalSearch, string, [this]);\n });\n var searchShim = function search(regexp) {\n var O = ES.RequireObjectCoercible(this);\n if (!isNullOrUndefined(regexp)) {\n var searcher = ES.GetMethod(regexp, symbolSearch);\n if (typeof searcher !== 'undefined') {\n return ES.Call(searcher, regexp, [O]);\n }\n }\n return ES.Call(originalSearch, O, [ES.ToString(regexp)]);\n };\n overrideNative(String.prototype, 'search', searchShim);\n }\n if (!Type.symbol(Symbol.replace)) {\n var symbolReplace = defineWellKnownSymbol('replace');\n var originalReplace = String.prototype.replace;\n defineProperty(RegExp.prototype, symbolReplace, function replace(string, replaceValue) {\n return ES.Call(originalReplace, string, [this, replaceValue]);\n });\n var replaceShim = function replace(searchValue, replaceValue) {\n var O = ES.RequireObjectCoercible(this);\n if (!isNullOrUndefined(searchValue)) {\n var replacer = ES.GetMethod(searchValue, symbolReplace);\n if (typeof replacer !== 'undefined') {\n return ES.Call(replacer, searchValue, [O, replaceValue]);\n }\n }\n return ES.Call(originalReplace, O, [ES.ToString(searchValue), replaceValue]);\n };\n overrideNative(String.prototype, 'replace', replaceShim);\n }\n if (!Type.symbol(Symbol.split)) {\n var symbolSplit = defineWellKnownSymbol('split');\n var originalSplit = String.prototype.split;\n defineProperty(RegExp.prototype, symbolSplit, function split(string, limit) {\n return ES.Call(originalSplit, string, [this, limit]);\n });\n var splitShim = function split(separator, limit) {\n var O = ES.RequireObjectCoercible(this);\n if (!isNullOrUndefined(separator)) {\n var splitter = ES.GetMethod(separator, symbolSplit);\n if (typeof splitter !== 'undefined') {\n return ES.Call(splitter, separator, [O, limit]);\n }\n }\n return ES.Call(originalSplit, O, [ES.ToString(separator), limit]);\n };\n overrideNative(String.prototype, 'split', splitShim);\n }\n var symbolMatchExists = Type.symbol(Symbol.match);\n var stringMatchIgnoresSymbolMatch = symbolMatchExists && (function () {\n // Firefox 41, through Nightly 45 has Symbol.match, but String#match ignores it.\n // Firefox 40 and below have Symbol.match but String#match works fine.\n var o = {};\n o[Symbol.match] = function () { return 42; };\n return 'a'.match(o) !== 42;\n }());\n if (!symbolMatchExists || stringMatchIgnoresSymbolMatch) {\n var symbolMatch = defineWellKnownSymbol('match');\n\n var originalMatch = String.prototype.match;\n defineProperty(RegExp.prototype, symbolMatch, function match(string) {\n return ES.Call(originalMatch, string, [this]);\n });\n\n var matchShim = function match(regexp) {\n var O = ES.RequireObjectCoercible(this);\n if (!isNullOrUndefined(regexp)) {\n var matcher = ES.GetMethod(regexp, symbolMatch);\n if (typeof matcher !== 'undefined') {\n return ES.Call(matcher, regexp, [O]);\n }\n }\n return ES.Call(originalMatch, O, [ES.ToString(regexp)]);\n };\n overrideNative(String.prototype, 'match', matchShim);\n }\n }\n\n var wrapConstructor = function wrapConstructor(original, replacement, keysToSkip) {\n Value.preserveToString(replacement, original);\n if (Object.setPrototypeOf) {\n // sets up proper prototype chain where possible\n Object.setPrototypeOf(original, replacement);\n }\n if (supportsDescriptors) {\n _forEach(Object.getOwnPropertyNames(original), function (key) {\n if (key in noop || keysToSkip[key]) { return; }\n Value.proxy(original, key, replacement);\n });\n } else {\n _forEach(Object.keys(original), function (key) {\n if (key in noop || keysToSkip[key]) { return; }\n replacement[key] = original[key];\n });\n }\n replacement.prototype = original.prototype;\n Value.redefine(original.prototype, 'constructor', replacement);\n };\n\n var defaultSpeciesGetter = function () { return this; };\n var addDefaultSpecies = function (C) {\n if (supportsDescriptors && !_hasOwnProperty(C, symbolSpecies)) {\n Value.getter(C, symbolSpecies, defaultSpeciesGetter);\n }\n };\n\n var addIterator = function (prototype, impl) {\n var implementation = impl || function iterator() { return this; };\n defineProperty(prototype, $iterator$, implementation);\n if (!prototype[$iterator$] && Type.symbol($iterator$)) {\n // implementations are buggy when $iterator$ is a Symbol\n prototype[$iterator$] = implementation;\n }\n };\n\n var createDataProperty = function createDataProperty(object, name, value) {\n if (supportsDescriptors) {\n Object.defineProperty(object, name, {\n configurable: true,\n enumerable: true,\n writable: true,\n value: value\n });\n } else {\n object[name] = value;\n }\n };\n var createDataPropertyOrThrow = function createDataPropertyOrThrow(object, name, value) {\n createDataProperty(object, name, value);\n if (!ES.SameValue(object[name], value)) {\n throw new TypeError('property is nonconfigurable');\n }\n };\n\n var emulateES6construct = function (o, defaultNewTarget, defaultProto, slots) {\n // This is an es5 approximation to es6 construct semantics. in es6,\n // 'new Foo' invokes Foo.[[Construct]] which (for almost all objects)\n // just sets the internal variable NewTarget (in es6 syntax `new.target`)\n // to Foo and then returns Foo().\n\n // Many ES6 object then have constructors of the form:\n // 1. If NewTarget is undefined, throw a TypeError exception\n // 2. Let xxx by OrdinaryCreateFromConstructor(NewTarget, yyy, zzz)\n\n // So we're going to emulate those first two steps.\n if (!ES.TypeIsObject(o)) {\n throw new TypeError('Constructor requires `new`: ' + defaultNewTarget.name);\n }\n var proto = defaultNewTarget.prototype;\n if (!ES.TypeIsObject(proto)) {\n proto = defaultProto;\n }\n var obj = create(proto);\n for (var name in slots) {\n if (_hasOwnProperty(slots, name)) {\n var value = slots[name];\n defineProperty(obj, name, value, true);\n }\n }\n return obj;\n };\n\n // Firefox 31 reports this function's length as 0\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1062484\n if (String.fromCodePoint && String.fromCodePoint.length !== 1) {\n var originalFromCodePoint = String.fromCodePoint;\n overrideNative(String, 'fromCodePoint', function fromCodePoint(codePoints) {\n return ES.Call(originalFromCodePoint, this, arguments);\n });\n }\n\n var StringShims = {\n fromCodePoint: function fromCodePoint(codePoints) {\n var result = [];\n var next;\n for (var i = 0, length = arguments.length; i < length; i++) {\n next = Number(arguments[i]);\n if (!ES.SameValue(next, ES.ToInteger(next)) || next < 0 || next > 0x10FFFF) {\n throw new RangeError('Invalid code point ' + next);\n }\n\n if (next < 0x10000) {\n _push(result, String.fromCharCode(next));\n } else {\n next -= 0x10000;\n _push(result, String.fromCharCode((next >> 10) + 0xD800));\n _push(result, String.fromCharCode((next % 0x400) + 0xDC00));\n }\n }\n return result.join('');\n },\n\n raw: function raw(callSite) {\n var cooked = ES.ToObject(callSite, 'bad callSite');\n var rawString = ES.ToObject(cooked.raw, 'bad raw value');\n var len = rawString.length;\n var literalsegments = ES.ToLength(len);\n if (literalsegments <= 0) {\n return '';\n }\n\n var stringElements = [];\n var nextIndex = 0;\n var nextKey, next, nextSeg, nextSub;\n while (nextIndex < literalsegments) {\n nextKey = ES.ToString(nextIndex);\n nextSeg = ES.ToString(rawString[nextKey]);\n _push(stringElements, nextSeg);\n if (nextIndex + 1 >= literalsegments) {\n break;\n }\n next = nextIndex + 1 < arguments.length ? arguments[nextIndex + 1] : '';\n nextSub = ES.ToString(next);\n _push(stringElements, nextSub);\n nextIndex += 1;\n }\n return stringElements.join('');\n }\n };\n if (String.raw && String.raw({ raw: { 0: 'x', 1: 'y', length: 2 } }) !== 'xy') {\n // IE 11 TP has a broken String.raw implementation\n overrideNative(String, 'raw', StringShims.raw);\n }\n defineProperties(String, StringShims);\n\n // Fast repeat, uses the `Exponentiation by squaring` algorithm.\n // Perf: http://jsperf.com/string-repeat2/2\n var stringRepeat = function repeat(s, times) {\n if (times < 1) { return ''; }\n if (times % 2) { return repeat(s, times - 1) + s; }\n var half = repeat(s, times / 2);\n return half + half;\n };\n var stringMaxLength = Infinity;\n\n var StringPrototypeShims = {\n repeat: function repeat(times) {\n var thisStr = ES.ToString(ES.RequireObjectCoercible(this));\n var numTimes = ES.ToInteger(times);\n if (numTimes < 0 || numTimes >= stringMaxLength) {\n throw new RangeError('repeat count must be less than infinity and not overflow maximum string size');\n }\n return stringRepeat(thisStr, numTimes);\n },\n\n startsWith: function startsWith(searchString) {\n var S = ES.ToString(ES.RequireObjectCoercible(this));\n if (ES.IsRegExp(searchString)) {\n throw new TypeError('Cannot call method \"startsWith\" with a regex');\n }\n var searchStr = ES.ToString(searchString);\n var position;\n if (arguments.length > 1) {\n position = arguments[1];\n }\n var start = _max(ES.ToInteger(position), 0);\n return _strSlice(S, start, start + searchStr.length) === searchStr;\n },\n\n endsWith: function endsWith(searchString) {\n var S = ES.ToString(ES.RequireObjectCoercible(this));\n if (ES.IsRegExp(searchString)) {\n throw new TypeError('Cannot call method \"endsWith\" with a regex');\n }\n var searchStr = ES.ToString(searchString);\n var len = S.length;\n var endPosition;\n if (arguments.length > 1) {\n endPosition = arguments[1];\n }\n var pos = typeof endPosition === 'undefined' ? len : ES.ToInteger(endPosition);\n var end = _min(_max(pos, 0), len);\n return _strSlice(S, end - searchStr.length, end) === searchStr;\n },\n\n includes: function includes(searchString) {\n if (ES.IsRegExp(searchString)) {\n throw new TypeError('\"includes\" does not accept a RegExp');\n }\n var searchStr = ES.ToString(searchString);\n var position;\n if (arguments.length > 1) {\n position = arguments[1];\n }\n // Somehow this trick makes method 100% compat with the spec.\n return _indexOf(this, searchStr, position) !== -1;\n },\n\n codePointAt: function codePointAt(pos) {\n var thisStr = ES.ToString(ES.RequireObjectCoercible(this));\n var position = ES.ToInteger(pos);\n var length = thisStr.length;\n if (position >= 0 && position < length) {\n var first = thisStr.charCodeAt(position);\n var isEnd = position + 1 === length;\n if (first < 0xD800 || first > 0xDBFF || isEnd) { return first; }\n var second = thisStr.charCodeAt(position + 1);\n if (second < 0xDC00 || second > 0xDFFF) { return first; }\n return ((first - 0xD800) * 1024) + (second - 0xDC00) + 0x10000;\n }\n }\n };\n if (String.prototype.includes && 'a'.includes('a', Infinity) !== false) {\n overrideNative(String.prototype, 'includes', StringPrototypeShims.includes);\n }\n\n if (String.prototype.startsWith && String.prototype.endsWith) {\n var startsWithRejectsRegex = throwsError(function () {\n /* throws if spec-compliant */\n return '/a/'.startsWith(/a/);\n });\n var startsWithHandlesInfinity = valueOrFalseIfThrows(function () {\n return 'abc'.startsWith('a', Infinity) === false;\n });\n if (!startsWithRejectsRegex || !startsWithHandlesInfinity) {\n // Firefox (< 37?) and IE 11 TP have a noncompliant startsWith implementation\n overrideNative(String.prototype, 'startsWith', StringPrototypeShims.startsWith);\n overrideNative(String.prototype, 'endsWith', StringPrototypeShims.endsWith);\n }\n }\n if (hasSymbols) {\n var startsWithSupportsSymbolMatch = valueOrFalseIfThrows(function () {\n var re = /a/;\n re[Symbol.match] = false;\n return '/a/'.startsWith(re);\n });\n if (!startsWithSupportsSymbolMatch) {\n overrideNative(String.prototype, 'startsWith', StringPrototypeShims.startsWith);\n }\n var endsWithSupportsSymbolMatch = valueOrFalseIfThrows(function () {\n var re = /a/;\n re[Symbol.match] = false;\n return '/a/'.endsWith(re);\n });\n if (!endsWithSupportsSymbolMatch) {\n overrideNative(String.prototype, 'endsWith', StringPrototypeShims.endsWith);\n }\n var includesSupportsSymbolMatch = valueOrFalseIfThrows(function () {\n var re = /a/;\n re[Symbol.match] = false;\n return '/a/'.includes(re);\n });\n if (!includesSupportsSymbolMatch) {\n overrideNative(String.prototype, 'includes', StringPrototypeShims.includes);\n }\n }\n\n defineProperties(String.prototype, StringPrototypeShims);\n\n // whitespace from: http://es5.github.io/#x15.5.4.20\n // implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324\n var ws = [\n '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003',\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028',\n '\\u2029\\uFEFF'\n ].join('');\n var trimRegexp = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g');\n var trimShim = function trim() {\n return ES.ToString(ES.RequireObjectCoercible(this)).replace(trimRegexp, '');\n };\n var nonWS = ['\\u0085', '\\u200b', '\\ufffe'].join('');\n var nonWSregex = new RegExp('[' + nonWS + ']', 'g');\n var isBadHexRegex = /^[-+]0x[0-9a-f]+$/i;\n var hasStringTrimBug = nonWS.trim().length !== nonWS.length;\n defineProperty(String.prototype, 'trim', trimShim, hasStringTrimBug);\n\n // Given an argument x, it will return an IteratorResult object,\n // with value set to x and done to false.\n // Given no arguments, it will return an iterator completion object.\n var iteratorResult = function (x) {\n return { value: x, done: arguments.length === 0 };\n };\n\n // see http://www.ecma-international.org/ecma-262/6.0/#sec-string.prototype-@@iterator\n var StringIterator = function (s) {\n ES.RequireObjectCoercible(s);\n this._s = ES.ToString(s);\n this._i = 0;\n };\n StringIterator.prototype.next = function () {\n var s = this._s;\n var i = this._i;\n if (typeof s === 'undefined' || i >= s.length) {\n this._s = void 0;\n return iteratorResult();\n }\n var first = s.charCodeAt(i);\n var second, len;\n if (first < 0xD800 || first > 0xDBFF || (i + 1) === s.length) {\n len = 1;\n } else {\n second = s.charCodeAt(i + 1);\n len = (second < 0xDC00 || second > 0xDFFF) ? 1 : 2;\n }\n this._i = i + len;\n return iteratorResult(s.substr(i, len));\n };\n addIterator(StringIterator.prototype);\n addIterator(String.prototype, function () {\n return new StringIterator(this);\n });\n\n var ArrayShims = {\n from: function from(items) {\n var C = this;\n var mapFn;\n if (arguments.length > 1) {\n mapFn = arguments[1];\n }\n var mapping, T;\n if (typeof mapFn === 'undefined') {\n mapping = false;\n } else {\n if (!ES.IsCallable(mapFn)) {\n throw new TypeError('Array.from: when provided, the second argument must be a function');\n }\n if (arguments.length > 2) {\n T = arguments[2];\n }\n mapping = true;\n }\n\n // Note that that Arrays will use ArrayIterator:\n // https://bugs.ecmascript.org/show_bug.cgi?id=2416\n var usingIterator = typeof (isArguments(items) || ES.GetMethod(items, $iterator$)) !== 'undefined';\n\n var length, result, i;\n if (usingIterator) {\n result = ES.IsConstructor(C) ? Object(new C()) : [];\n var iterator = ES.GetIterator(items);\n var next, nextValue;\n\n i = 0;\n while (true) {\n next = ES.IteratorStep(iterator);\n if (next === false) {\n break;\n }\n nextValue = next.value;\n try {\n if (mapping) {\n nextValue = typeof T === 'undefined' ? mapFn(nextValue, i) : _call(mapFn, T, nextValue, i);\n }\n result[i] = nextValue;\n } catch (e) {\n ES.IteratorClose(iterator, true);\n throw e;\n }\n i += 1;\n }\n length = i;\n } else {\n var arrayLike = ES.ToObject(items);\n length = ES.ToLength(arrayLike.length);\n result = ES.IsConstructor(C) ? Object(new C(length)) : new Array(length);\n var value;\n for (i = 0; i < length; ++i) {\n value = arrayLike[i];\n if (mapping) {\n value = typeof T === 'undefined' ? mapFn(value, i) : _call(mapFn, T, value, i);\n }\n createDataPropertyOrThrow(result, i, value);\n }\n }\n\n result.length = length;\n return result;\n },\n\n of: function of() {\n var len = arguments.length;\n var C = this;\n var A = isArray(C) || !ES.IsCallable(C) ? new Array(len) : ES.Construct(C, [len]);\n for (var k = 0; k < len; ++k) {\n createDataPropertyOrThrow(A, k, arguments[k]);\n }\n A.length = len;\n return A;\n }\n };\n defineProperties(Array, ArrayShims);\n addDefaultSpecies(Array);\n\n // Our ArrayIterator is private; see\n // https://github.com/paulmillr/es6-shim/issues/252\n ArrayIterator = function (array, kind) {\n this.i = 0;\n this.array = array;\n this.kind = kind;\n };\n\n defineProperties(ArrayIterator.prototype, {\n next: function () {\n var i = this.i;\n var array = this.array;\n if (!(this instanceof ArrayIterator)) {\n throw new TypeError('Not an ArrayIterator');\n }\n if (typeof array !== 'undefined') {\n var len = ES.ToLength(array.length);\n for (; i < len; i++) {\n var kind = this.kind;\n var retval;\n if (kind === 'key') {\n retval = i;\n } else if (kind === 'value') {\n retval = array[i];\n } else if (kind === 'entry') {\n retval = [i, array[i]];\n }\n this.i = i + 1;\n return iteratorResult(retval);\n }\n }\n this.array = void 0;\n return iteratorResult();\n }\n });\n addIterator(ArrayIterator.prototype);\n\n /*\n var orderKeys = function orderKeys(a, b) {\n var aNumeric = String(ES.ToInteger(a)) === a;\n var bNumeric = String(ES.ToInteger(b)) === b;\n if (aNumeric && bNumeric) {\n return b - a;\n } else if (aNumeric && !bNumeric) {\n return -1;\n } else if (!aNumeric && bNumeric) {\n return 1;\n } else {\n return a.localeCompare(b);\n }\n };\n\n var getAllKeys = function getAllKeys(object) {\n var ownKeys = [];\n var keys = [];\n\n for (var key in object) {\n _push(_hasOwnProperty(object, key) ? ownKeys : keys, key);\n }\n _sort(ownKeys, orderKeys);\n _sort(keys, orderKeys);\n\n return _concat(ownKeys, keys);\n };\n */\n\n // note: this is positioned here because it depends on ArrayIterator\n var arrayOfSupportsSubclassing = Array.of === ArrayShims.of || (function () {\n // Detects a bug in Webkit nightly r181886\n var Foo = function Foo(len) { this.length = len; };\n Foo.prototype = [];\n var fooArr = Array.of.apply(Foo, [1, 2]);\n return fooArr instanceof Foo && fooArr.length === 2;\n }());\n if (!arrayOfSupportsSubclassing) {\n overrideNative(Array, 'of', ArrayShims.of);\n }\n\n var ArrayPrototypeShims = {\n copyWithin: function copyWithin(target, start) {\n var o = ES.ToObject(this);\n var len = ES.ToLength(o.length);\n var relativeTarget = ES.ToInteger(target);\n var relativeStart = ES.ToInteger(start);\n var to = relativeTarget < 0 ? _max(len + relativeTarget, 0) : _min(relativeTarget, len);\n var from = relativeStart < 0 ? _max(len + relativeStart, 0) : _min(relativeStart, len);\n var end;\n if (arguments.length > 2) {\n end = arguments[2];\n }\n var relativeEnd = typeof end === 'undefined' ? len : ES.ToInteger(end);\n var finalItem = relativeEnd < 0 ? _max(len + relativeEnd, 0) : _min(relativeEnd, len);\n var count = _min(finalItem - from, len - to);\n var direction = 1;\n if (from < to && to < (from + count)) {\n direction = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count > 0) {\n if (from in o) {\n o[to] = o[from];\n } else {\n delete o[to];\n }\n from += direction;\n to += direction;\n count -= 1;\n }\n return o;\n },\n\n fill: function fill(value) {\n var start;\n if (arguments.length > 1) {\n start = arguments[1];\n }\n var end;\n if (arguments.length > 2) {\n end = arguments[2];\n }\n var O = ES.ToObject(this);\n var len = ES.ToLength(O.length);\n start = ES.ToInteger(typeof start === 'undefined' ? 0 : start);\n end = ES.ToInteger(typeof end === 'undefined' ? len : end);\n\n var relativeStart = start < 0 ? _max(len + start, 0) : _min(start, len);\n var relativeEnd = end < 0 ? len + end : end;\n\n for (var i = relativeStart; i < len && i < relativeEnd; ++i) {\n O[i] = value;\n }\n return O;\n },\n\n find: function find(predicate) {\n var list = ES.ToObject(this);\n var length = ES.ToLength(list.length);\n if (!ES.IsCallable(predicate)) {\n throw new TypeError('Array#find: predicate must be a function');\n }\n var thisArg = arguments.length > 1 ? arguments[1] : null;\n for (var i = 0, value; i < length; i++) {\n value = list[i];\n if (thisArg) {\n if (_call(predicate, thisArg, value, i, list)) {\n return value;\n }\n } else if (predicate(value, i, list)) {\n return value;\n }\n }\n },\n\n findIndex: function findIndex(predicate) {\n var list = ES.ToObject(this);\n var length = ES.ToLength(list.length);\n if (!ES.IsCallable(predicate)) {\n throw new TypeError('Array#findIndex: predicate must be a function');\n }\n var thisArg = arguments.length > 1 ? arguments[1] : null;\n for (var i = 0; i < length; i++) {\n if (thisArg) {\n if (_call(predicate, thisArg, list[i], i, list)) {\n return i;\n }\n } else if (predicate(list[i], i, list)) {\n return i;\n }\n }\n return -1;\n },\n\n keys: function keys() {\n return new ArrayIterator(this, 'key');\n },\n\n values: function values() {\n return new ArrayIterator(this, 'value');\n },\n\n entries: function entries() {\n return new ArrayIterator(this, 'entry');\n }\n };\n // Safari 7.1 defines Array#keys and Array#entries natively,\n // but the resulting ArrayIterator objects don't have a \"next\" method.\n if (Array.prototype.keys && !ES.IsCallable([1].keys().next)) {\n delete Array.prototype.keys;\n }\n if (Array.prototype.entries && !ES.IsCallable([1].entries().next)) {\n delete Array.prototype.entries;\n }\n\n // Chrome 38 defines Array#keys and Array#entries, and Array#@@iterator, but not Array#values\n if (Array.prototype.keys && Array.prototype.entries && !Array.prototype.values && Array.prototype[$iterator$]) {\n defineProperties(Array.prototype, {\n values: Array.prototype[$iterator$]\n });\n if (Type.symbol(Symbol.unscopables)) {\n Array.prototype[Symbol.unscopables].values = true;\n }\n }\n // Chrome 40 defines Array#values with the incorrect name, although Array#{keys,entries} have the correct name\n if (functionsHaveNames && Array.prototype.values && Array.prototype.values.name !== 'values') {\n var originalArrayPrototypeValues = Array.prototype.values;\n overrideNative(Array.prototype, 'values', function values() { return ES.Call(originalArrayPrototypeValues, this, arguments); });\n defineProperty(Array.prototype, $iterator$, Array.prototype.values, true);\n }\n defineProperties(Array.prototype, ArrayPrototypeShims);\n\n if (1 / [true].indexOf(true, -0) < 0) {\n // indexOf when given a position arg of -0 should return +0.\n // https://github.com/tc39/ecma262/pull/316\n defineProperty(Array.prototype, 'indexOf', function indexOf(searchElement) {\n var value = _arrayIndexOfApply(this, arguments);\n if (value === 0 && (1 / value) < 0) {\n return 0;\n }\n return value;\n }, true);\n }\n\n addIterator(Array.prototype, function () { return this.values(); });\n // Chrome defines keys/values/entries on Array, but doesn't give us\n // any way to identify its iterator. So add our own shimmed field.\n if (Object.getPrototypeOf) {\n addIterator(Object.getPrototypeOf([].values()));\n }\n\n // note: this is positioned here because it relies on Array#entries\n var arrayFromSwallowsNegativeLengths = (function () {\n // Detects a Firefox bug in v32\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1063993\n return valueOrFalseIfThrows(function () {\n return Array.from({ length: -1 }).length === 0;\n });\n }());\n var arrayFromHandlesIterables = (function () {\n // Detects a bug in Webkit nightly r181886\n var arr = Array.from([0].entries());\n return arr.length === 1 && isArray(arr[0]) && arr[0][0] === 0 && arr[0][1] === 0;\n }());\n if (!arrayFromSwallowsNegativeLengths || !arrayFromHandlesIterables) {\n overrideNative(Array, 'from', ArrayShims.from);\n }\n var arrayFromHandlesUndefinedMapFunction = (function () {\n // Microsoft Edge v0.11 throws if the mapFn argument is *provided* but undefined,\n // but the spec doesn't care if it's provided or not - undefined doesn't throw.\n return valueOrFalseIfThrows(function () {\n return Array.from([0], void 0);\n });\n }());\n if (!arrayFromHandlesUndefinedMapFunction) {\n var origArrayFrom = Array.from;\n overrideNative(Array, 'from', function from(items) {\n if (arguments.length > 1 && typeof arguments[1] !== 'undefined') {\n return ES.Call(origArrayFrom, this, arguments);\n } else {\n return _call(origArrayFrom, this, items);\n }\n });\n }\n\n var int32sAsOne = -(Math.pow(2, 32) - 1);\n var toLengthsCorrectly = function (method, reversed) {\n var obj = { length: int32sAsOne };\n obj[reversed ? (obj.length >>> 0) - 1 : 0] = true;\n return valueOrFalseIfThrows(function () {\n _call(method, obj, function () {\n // note: in nonconforming browsers, this will be called\n // -1 >>> 0 times, which is 4294967295, so the throw matters.\n throw new RangeError('should not reach here');\n }, []);\n return true;\n });\n };\n if (!toLengthsCorrectly(Array.prototype.forEach)) {\n var originalForEach = Array.prototype.forEach;\n overrideNative(Array.prototype, 'forEach', function forEach(callbackFn) {\n return ES.Call(originalForEach, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.map)) {\n var originalMap = Array.prototype.map;\n overrideNative(Array.prototype, 'map', function map(callbackFn) {\n return ES.Call(originalMap, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.filter)) {\n var originalFilter = Array.prototype.filter;\n overrideNative(Array.prototype, 'filter', function filter(callbackFn) {\n return ES.Call(originalFilter, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.some)) {\n var originalSome = Array.prototype.some;\n overrideNative(Array.prototype, 'some', function some(callbackFn) {\n return ES.Call(originalSome, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.every)) {\n var originalEvery = Array.prototype.every;\n overrideNative(Array.prototype, 'every', function every(callbackFn) {\n return ES.Call(originalEvery, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.reduce)) {\n var originalReduce = Array.prototype.reduce;\n overrideNative(Array.prototype, 'reduce', function reduce(callbackFn) {\n return ES.Call(originalReduce, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.reduceRight, true)) {\n var originalReduceRight = Array.prototype.reduceRight;\n overrideNative(Array.prototype, 'reduceRight', function reduceRight(callbackFn) {\n return ES.Call(originalReduceRight, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n\n var lacksOctalSupport = Number('0o10') !== 8;\n var lacksBinarySupport = Number('0b10') !== 2;\n var trimsNonWhitespace = _some(nonWS, function (c) {\n return Number(c + 0 + c) === 0;\n });\n if (lacksOctalSupport || lacksBinarySupport || trimsNonWhitespace) {\n var OrigNumber = Number;\n var binaryRegex = /^0b[01]+$/i;\n var octalRegex = /^0o[0-7]+$/i;\n // Note that in IE 8, RegExp.prototype.test doesn't seem to exist: ie, \"test\" is an own property of regexes. wtf.\n var isBinary = binaryRegex.test.bind(binaryRegex);\n var isOctal = octalRegex.test.bind(octalRegex);\n var toPrimitive = function (O) { // need to replace this with `es-to-primitive/es6`\n var result;\n if (typeof O.valueOf === 'function') {\n result = O.valueOf();\n if (Type.primitive(result)) {\n return result;\n }\n }\n if (typeof O.toString === 'function') {\n result = O.toString();\n if (Type.primitive(result)) {\n return result;\n }\n }\n throw new TypeError('No default value');\n };\n var hasNonWS = nonWSregex.test.bind(nonWSregex);\n var isBadHex = isBadHexRegex.test.bind(isBadHexRegex);\n var NumberShim = (function () {\n // this is wrapped in an IIFE because of IE 6-8's wacky scoping issues with named function expressions.\n var NumberShim = function Number(value) {\n var primValue;\n if (arguments.length > 0) {\n primValue = Type.primitive(value) ? value : toPrimitive(value, 'number');\n } else {\n primValue = 0;\n }\n if (typeof primValue === 'string') {\n primValue = ES.Call(trimShim, primValue);\n if (isBinary(primValue)) {\n primValue = parseInt(_strSlice(primValue, 2), 2);\n } else if (isOctal(primValue)) {\n primValue = parseInt(_strSlice(primValue, 2), 8);\n } else if (hasNonWS(primValue) || isBadHex(primValue)) {\n primValue = NaN;\n }\n }\n var receiver = this;\n var valueOfSucceeds = valueOrFalseIfThrows(function () {\n OrigNumber.prototype.valueOf.call(receiver);\n return true;\n });\n if (receiver instanceof NumberShim && !valueOfSucceeds) {\n return new OrigNumber(primValue);\n }\n return OrigNumber(primValue);\n };\n return NumberShim;\n }());\n wrapConstructor(OrigNumber, NumberShim, {});\n // this is necessary for ES3 browsers, where these properties are non-enumerable.\n defineProperties(NumberShim, {\n NaN: OrigNumber.NaN,\n MAX_VALUE: OrigNumber.MAX_VALUE,\n MIN_VALUE: OrigNumber.MIN_VALUE,\n NEGATIVE_INFINITY: OrigNumber.NEGATIVE_INFINITY,\n POSITIVE_INFINITY: OrigNumber.POSITIVE_INFINITY\n });\n /* globals Number: true */\n /* eslint-disable no-undef, no-global-assign */\n Number = NumberShim;\n Value.redefine(globals, 'Number', NumberShim);\n /* eslint-enable no-undef, no-global-assign */\n /* globals Number: false */\n }\n\n var maxSafeInteger = Math.pow(2, 53) - 1;\n defineProperties(Number, {\n MAX_SAFE_INTEGER: maxSafeInteger,\n MIN_SAFE_INTEGER: -maxSafeInteger,\n EPSILON: 2.220446049250313e-16,\n\n parseInt: globals.parseInt,\n parseFloat: globals.parseFloat,\n\n isFinite: numberIsFinite,\n\n isInteger: function isInteger(value) {\n return numberIsFinite(value) && ES.ToInteger(value) === value;\n },\n\n isSafeInteger: function isSafeInteger(value) {\n return Number.isInteger(value) && _abs(value) <= Number.MAX_SAFE_INTEGER;\n },\n\n isNaN: numberIsNaN\n });\n // Firefox 37 has a conforming Number.parseInt, but it's not === to the global parseInt (fixed in v40)\n defineProperty(Number, 'parseInt', globals.parseInt, Number.parseInt !== globals.parseInt);\n\n // Work around bugs in Array#find and Array#findIndex -- early\n // implementations skipped holes in sparse arrays. (Note that the\n // implementations of find/findIndex indirectly use shimmed\n // methods of Number, so this test has to happen down here.)\n /* eslint-disable no-sparse-arrays */\n if ([, 1].find(function () { return true; }) === 1) {\n overrideNative(Array.prototype, 'find', ArrayPrototypeShims.find);\n }\n if ([, 1].findIndex(function () { return true; }) !== 0) {\n overrideNative(Array.prototype, 'findIndex', ArrayPrototypeShims.findIndex);\n }\n /* eslint-enable no-sparse-arrays */\n\n var isEnumerableOn = Function.bind.call(Function.bind, Object.prototype.propertyIsEnumerable);\n var ensureEnumerable = function ensureEnumerable(obj, prop) {\n if (supportsDescriptors && isEnumerableOn(obj, prop)) {\n Object.defineProperty(obj, prop, { enumerable: false });\n }\n };\n var sliceArgs = function sliceArgs() {\n // per https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments\n // and https://gist.github.com/WebReflection/4327762cb87a8c634a29\n var initial = Number(this);\n var len = arguments.length;\n var desiredArgCount = len - initial;\n var args = new Array(desiredArgCount < 0 ? 0 : desiredArgCount);\n for (var i = initial; i < len; ++i) {\n args[i - initial] = arguments[i];\n }\n return args;\n };\n var assignTo = function assignTo(source) {\n return function assignToSource(target, key) {\n target[key] = source[key];\n return target;\n };\n };\n var assignReducer = function (target, source) {\n var sourceKeys = keys(Object(source));\n var symbols;\n if (ES.IsCallable(Object.getOwnPropertySymbols)) {\n symbols = _filter(Object.getOwnPropertySymbols(Object(source)), isEnumerableOn(source));\n }\n return _reduce(_concat(sourceKeys, symbols || []), assignTo(source), target);\n };\n\n var ObjectShims = {\n // 19.1.3.1\n assign: function (target, source) {\n var to = ES.ToObject(target, 'Cannot convert undefined or null to object');\n return _reduce(ES.Call(sliceArgs, 1, arguments), assignReducer, to);\n },\n\n // Added in WebKit in https://bugs.webkit.org/show_bug.cgi?id=143865\n is: function is(a, b) {\n return ES.SameValue(a, b);\n }\n };\n var assignHasPendingExceptions = Object.assign && Object.preventExtensions && (function () {\n // Firefox 37 still has \"pending exception\" logic in its Object.assign implementation,\n // which is 72% slower than our shim, and Firefox 40's native implementation.\n var thrower = Object.preventExtensions({ 1: 2 });\n try {\n Object.assign(thrower, 'xy');\n } catch (e) {\n return thrower[1] === 'y';\n }\n }());\n if (assignHasPendingExceptions) {\n overrideNative(Object, 'assign', ObjectShims.assign);\n }\n defineProperties(Object, ObjectShims);\n\n if (supportsDescriptors) {\n var ES5ObjectShims = {\n // 19.1.3.9\n // shim from https://gist.github.com/WebReflection/5593554\n setPrototypeOf: (function (Object, magic) {\n var set;\n\n var checkArgs = function (O, proto) {\n if (!ES.TypeIsObject(O)) {\n throw new TypeError('cannot set prototype on a non-object');\n }\n if (!(proto === null || ES.TypeIsObject(proto))) {\n throw new TypeError('can only set prototype to an object or null' + proto);\n }\n };\n\n var setPrototypeOf = function (O, proto) {\n checkArgs(O, proto);\n _call(set, O, proto);\n return O;\n };\n\n try {\n // this works already in Firefox and Safari\n set = Object.getOwnPropertyDescriptor(Object.prototype, magic).set;\n _call(set, {}, null);\n } catch (e) {\n if (Object.prototype !== {}[magic]) {\n // IE < 11 cannot be shimmed\n return;\n }\n // probably Chrome or some old Mobile stock browser\n set = function (proto) {\n this[magic] = proto;\n };\n // please note that this will **not** work\n // in those browsers that do not inherit\n // __proto__ by mistake from Object.prototype\n // in these cases we should probably throw an error\n // or at least be informed about the issue\n setPrototypeOf.polyfill = setPrototypeOf(\n setPrototypeOf({}, null),\n Object.prototype\n ) instanceof Object;\n // setPrototypeOf.polyfill === true means it works as meant\n // setPrototypeOf.polyfill === false means it's not 100% reliable\n // setPrototypeOf.polyfill === undefined\n // or\n // setPrototypeOf.polyfill == null means it's not a polyfill\n // which means it works as expected\n // we can even delete Object.prototype.__proto__;\n }\n return setPrototypeOf;\n }(Object, '__proto__'))\n };\n\n defineProperties(Object, ES5ObjectShims);\n }\n\n // Workaround bug in Opera 12 where setPrototypeOf(x, null) doesn't work,\n // but Object.create(null) does.\n if (Object.setPrototypeOf && Object.getPrototypeOf &&\n Object.getPrototypeOf(Object.setPrototypeOf({}, null)) !== null &&\n Object.getPrototypeOf(Object.create(null)) === null) {\n (function () {\n var FAKENULL = Object.create(null);\n var gpo = Object.getPrototypeOf;\n var spo = Object.setPrototypeOf;\n Object.getPrototypeOf = function (o) {\n var result = gpo(o);\n return result === FAKENULL ? null : result;\n };\n Object.setPrototypeOf = function (o, p) {\n var proto = p === null ? FAKENULL : p;\n return spo(o, proto);\n };\n Object.setPrototypeOf.polyfill = false;\n }());\n }\n\n var objectKeysAcceptsPrimitives = !throwsError(function () { return Object.keys('foo'); });\n if (!objectKeysAcceptsPrimitives) {\n var originalObjectKeys = Object.keys;\n overrideNative(Object, 'keys', function keys(value) {\n return originalObjectKeys(ES.ToObject(value));\n });\n keys = Object.keys;\n }\n var objectKeysRejectsRegex = throwsError(function () { return Object.keys(/a/g); });\n if (objectKeysRejectsRegex) {\n var regexRejectingObjectKeys = Object.keys;\n overrideNative(Object, 'keys', function keys(value) {\n if (Type.regex(value)) {\n var regexKeys = [];\n for (var k in value) {\n if (_hasOwnProperty(value, k)) {\n _push(regexKeys, k);\n }\n }\n return regexKeys;\n }\n return regexRejectingObjectKeys(value);\n });\n keys = Object.keys;\n }\n\n if (Object.getOwnPropertyNames) {\n var objectGOPNAcceptsPrimitives = !throwsError(function () { return Object.getOwnPropertyNames('foo'); });\n if (!objectGOPNAcceptsPrimitives) {\n var cachedWindowNames = typeof window === 'object' ? Object.getOwnPropertyNames(window) : [];\n var originalObjectGetOwnPropertyNames = Object.getOwnPropertyNames;\n overrideNative(Object, 'getOwnPropertyNames', function getOwnPropertyNames(value) {\n var val = ES.ToObject(value);\n if (_toString(val) === '[object Window]') {\n try {\n return originalObjectGetOwnPropertyNames(val);\n } catch (e) {\n // IE bug where layout engine calls userland gOPN for cross-domain `window` objects\n return _concat([], cachedWindowNames);\n }\n }\n return originalObjectGetOwnPropertyNames(val);\n });\n }\n }\n if (Object.getOwnPropertyDescriptor) {\n var objectGOPDAcceptsPrimitives = !throwsError(function () { return Object.getOwnPropertyDescriptor('foo', 'bar'); });\n if (!objectGOPDAcceptsPrimitives) {\n var originalObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n overrideNative(Object, 'getOwnPropertyDescriptor', function getOwnPropertyDescriptor(value, property) {\n return originalObjectGetOwnPropertyDescriptor(ES.ToObject(value), property);\n });\n }\n }\n if (Object.seal) {\n var objectSealAcceptsPrimitives = !throwsError(function () { return Object.seal('foo'); });\n if (!objectSealAcceptsPrimitives) {\n var originalObjectSeal = Object.seal;\n overrideNative(Object, 'seal', function seal(value) {\n if (!ES.TypeIsObject(value)) { return value; }\n return originalObjectSeal(value);\n });\n }\n }\n if (Object.isSealed) {\n var objectIsSealedAcceptsPrimitives = !throwsError(function () { return Object.isSealed('foo'); });\n if (!objectIsSealedAcceptsPrimitives) {\n var originalObjectIsSealed = Object.isSealed;\n overrideNative(Object, 'isSealed', function isSealed(value) {\n if (!ES.TypeIsObject(value)) { return true; }\n return originalObjectIsSealed(value);\n });\n }\n }\n if (Object.freeze) {\n var objectFreezeAcceptsPrimitives = !throwsError(function () { return Object.freeze('foo'); });\n if (!objectFreezeAcceptsPrimitives) {\n var originalObjectFreeze = Object.freeze;\n overrideNative(Object, 'freeze', function freeze(value) {\n if (!ES.TypeIsObject(value)) { return value; }\n return originalObjectFreeze(value);\n });\n }\n }\n if (Object.isFrozen) {\n var objectIsFrozenAcceptsPrimitives = !throwsError(function () { return Object.isFrozen('foo'); });\n if (!objectIsFrozenAcceptsPrimitives) {\n var originalObjectIsFrozen = Object.isFrozen;\n overrideNative(Object, 'isFrozen', function isFrozen(value) {\n if (!ES.TypeIsObject(value)) { return true; }\n return originalObjectIsFrozen(value);\n });\n }\n }\n if (Object.preventExtensions) {\n var objectPreventExtensionsAcceptsPrimitives = !throwsError(function () { return Object.preventExtensions('foo'); });\n if (!objectPreventExtensionsAcceptsPrimitives) {\n var originalObjectPreventExtensions = Object.preventExtensions;\n overrideNative(Object, 'preventExtensions', function preventExtensions(value) {\n if (!ES.TypeIsObject(value)) { return value; }\n return originalObjectPreventExtensions(value);\n });\n }\n }\n if (Object.isExtensible) {\n var objectIsExtensibleAcceptsPrimitives = !throwsError(function () { return Object.isExtensible('foo'); });\n if (!objectIsExtensibleAcceptsPrimitives) {\n var originalObjectIsExtensible = Object.isExtensible;\n overrideNative(Object, 'isExtensible', function isExtensible(value) {\n if (!ES.TypeIsObject(value)) { return false; }\n return originalObjectIsExtensible(value);\n });\n }\n }\n if (Object.getPrototypeOf) {\n var objectGetProtoAcceptsPrimitives = !throwsError(function () { return Object.getPrototypeOf('foo'); });\n if (!objectGetProtoAcceptsPrimitives) {\n var originalGetProto = Object.getPrototypeOf;\n overrideNative(Object, 'getPrototypeOf', function getPrototypeOf(value) {\n return originalGetProto(ES.ToObject(value));\n });\n }\n }\n\n var hasFlags = supportsDescriptors && (function () {\n var desc = Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags');\n return desc && ES.IsCallable(desc.get);\n }());\n if (supportsDescriptors && !hasFlags) {\n var regExpFlagsGetter = function flags() {\n if (!ES.TypeIsObject(this)) {\n throw new TypeError('Method called on incompatible type: must be an object.');\n }\n var result = '';\n if (this.global) {\n result += 'g';\n }\n if (this.ignoreCase) {\n result += 'i';\n }\n if (this.multiline) {\n result += 'm';\n }\n if (this.unicode) {\n result += 'u';\n }\n if (this.sticky) {\n result += 'y';\n }\n return result;\n };\n\n Value.getter(RegExp.prototype, 'flags', regExpFlagsGetter);\n }\n\n var regExpSupportsFlagsWithRegex = supportsDescriptors && valueOrFalseIfThrows(function () {\n return String(new RegExp(/a/g, 'i')) === '/a/i';\n });\n var regExpNeedsToSupportSymbolMatch = hasSymbols && supportsDescriptors && (function () {\n // Edge 0.12 supports flags fully, but does not support Symbol.match\n var regex = /./;\n regex[Symbol.match] = false;\n return RegExp(regex) === regex;\n }());\n\n var regexToStringIsGeneric = valueOrFalseIfThrows(function () {\n return RegExp.prototype.toString.call({ source: 'abc' }) === '/abc/';\n });\n var regexToStringSupportsGenericFlags = regexToStringIsGeneric && valueOrFalseIfThrows(function () {\n return RegExp.prototype.toString.call({ source: 'a', flags: 'b' }) === '/a/b';\n });\n if (!regexToStringIsGeneric || !regexToStringSupportsGenericFlags) {\n var origRegExpToString = RegExp.prototype.toString;\n defineProperty(RegExp.prototype, 'toString', function toString() {\n var R = ES.RequireObjectCoercible(this);\n if (Type.regex(R)) {\n return _call(origRegExpToString, R);\n }\n var pattern = $String(R.source);\n var flags = $String(R.flags);\n return '/' + pattern + '/' + flags;\n }, true);\n Value.preserveToString(RegExp.prototype.toString, origRegExpToString);\n }\n\n if (supportsDescriptors && (!regExpSupportsFlagsWithRegex || regExpNeedsToSupportSymbolMatch)) {\n var flagsGetter = Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags').get;\n var sourceDesc = Object.getOwnPropertyDescriptor(RegExp.prototype, 'source') || {};\n var legacySourceGetter = function () {\n // prior to it being a getter, it's own + nonconfigurable\n return this.source;\n };\n var sourceGetter = ES.IsCallable(sourceDesc.get) ? sourceDesc.get : legacySourceGetter;\n\n var OrigRegExp = RegExp;\n var RegExpShim = (function () {\n return function RegExp(pattern, flags) {\n var patternIsRegExp = ES.IsRegExp(pattern);\n var calledWithNew = this instanceof RegExp;\n if (!calledWithNew && patternIsRegExp && typeof flags === 'undefined' && pattern.constructor === RegExp) {\n return pattern;\n }\n\n var P = pattern;\n var F = flags;\n if (Type.regex(pattern)) {\n P = ES.Call(sourceGetter, pattern);\n F = typeof flags === 'undefined' ? ES.Call(flagsGetter, pattern) : flags;\n return new RegExp(P, F);\n } else if (patternIsRegExp) {\n P = pattern.source;\n F = typeof flags === 'undefined' ? pattern.flags : flags;\n }\n return new OrigRegExp(pattern, flags);\n };\n }());\n wrapConstructor(OrigRegExp, RegExpShim, {\n $input: true // Chrome < v39 & Opera < 26 have a nonstandard \"$input\" property\n });\n /* globals RegExp: true */\n /* eslint-disable no-undef, no-global-assign */\n RegExp = RegExpShim;\n Value.redefine(globals, 'RegExp', RegExpShim);\n /* eslint-enable no-undef, no-global-assign */\n /* globals RegExp: false */\n }\n\n if (supportsDescriptors) {\n var regexGlobals = {\n input: '$_',\n lastMatch: '$&',\n lastParen: '$+',\n leftContext: '$`',\n rightContext: '$\\''\n };\n _forEach(keys(regexGlobals), function (prop) {\n if (prop in RegExp && !(regexGlobals[prop] in RegExp)) {\n Value.getter(RegExp, regexGlobals[prop], function get() {\n return RegExp[prop];\n });\n }\n });\n }\n addDefaultSpecies(RegExp);\n\n var inverseEpsilon = 1 / Number.EPSILON;\n var roundTiesToEven = function roundTiesToEven(n) {\n // Even though this reduces down to `return n`, it takes advantage of built-in rounding.\n return (n + inverseEpsilon) - inverseEpsilon;\n };\n var BINARY_32_EPSILON = Math.pow(2, -23);\n var BINARY_32_MAX_VALUE = Math.pow(2, 127) * (2 - BINARY_32_EPSILON);\n var BINARY_32_MIN_VALUE = Math.pow(2, -126);\n var E = Math.E;\n var LOG2E = Math.LOG2E;\n var LOG10E = Math.LOG10E;\n var numberCLZ = Number.prototype.clz;\n delete Number.prototype.clz; // Safari 8 has Number#clz\n\n var MathShims = {\n acosh: function acosh(value) {\n var x = Number(value);\n if (numberIsNaN(x) || value < 1) { return NaN; }\n if (x === 1) { return 0; }\n if (x === Infinity) { return x; }\n\n var xInvSquared = 1 / (x * x);\n if (x < 2) {\n return _log1p(x - 1 + (_sqrt(1 - xInvSquared) * x));\n }\n var halfX = x / 2;\n return _log1p(halfX + (_sqrt(1 - xInvSquared) * halfX) - 1) + (1 / LOG2E);\n },\n\n asinh: function asinh(value) {\n var x = Number(value);\n if (x === 0 || !globalIsFinite(x)) {\n return x;\n }\n\n var a = _abs(x);\n var aSquared = a * a;\n var s = _sign(x);\n if (a < 1) {\n return s * _log1p(a + (aSquared / (_sqrt(aSquared + 1) + 1)));\n }\n return s * (_log1p((a / 2) + (_sqrt(1 + (1 / aSquared)) * a / 2) - 1) + (1 / LOG2E));\n },\n\n atanh: function atanh(value) {\n var x = Number(value);\n\n if (x === 0) { return x; }\n if (x === -1) { return -Infinity; }\n if (x === 1) { return Infinity; }\n if (numberIsNaN(x) || x < -1 || x > 1) {\n return NaN;\n }\n\n var a = _abs(x);\n return _sign(x) * _log1p(2 * a / (1 - a)) / 2;\n },\n\n cbrt: function cbrt(value) {\n var x = Number(value);\n if (x === 0) { return x; }\n var negate = x < 0;\n var result;\n if (negate) { x = -x; }\n if (x === Infinity) {\n result = Infinity;\n } else {\n result = _exp(_log(x) / 3);\n // from http://en.wikipedia.org/wiki/Cube_root#Numerical_methods\n result = ((x / (result * result)) + (2 * result)) / 3;\n }\n return negate ? -result : result;\n },\n\n clz32: function clz32(value) {\n // See https://bugs.ecmascript.org/show_bug.cgi?id=2465\n var x = Number(value);\n var number = ES.ToUint32(x);\n if (number === 0) {\n return 32;\n }\n return numberCLZ ? ES.Call(numberCLZ, number) : 31 - _floor(_log(number + 0.5) * LOG2E);\n },\n\n cosh: function cosh(value) {\n var x = Number(value);\n if (x === 0) { return 1; } // +0 or -0\n if (numberIsNaN(x)) { return NaN; }\n if (!globalIsFinite(x)) { return Infinity; }\n\n var t = _exp(_abs(x) - 1);\n return (t + (1 / (t * E * E))) * (E / 2);\n },\n\n expm1: function expm1(value) {\n var x = Number(value);\n if (x === -Infinity) { return -1; }\n if (!globalIsFinite(x) || x === 0) { return x; }\n if (_abs(x) > 0.5) {\n return _exp(x) - 1;\n }\n // A more precise approximation using Taylor series expansion\n // from https://github.com/paulmillr/es6-shim/issues/314#issuecomment-70293986\n var t = x;\n var sum = 0;\n var n = 1;\n while (sum + t !== sum) {\n sum += t;\n n += 1;\n t *= x / n;\n }\n return sum;\n },\n\n hypot: function hypot(x, y) {\n var result = 0;\n var largest = 0;\n for (var i = 0; i < arguments.length; ++i) {\n var value = _abs(Number(arguments[i]));\n if (largest < value) {\n result *= (largest / value) * (largest / value);\n result += 1;\n largest = value;\n } else {\n result += value > 0 ? (value / largest) * (value / largest) : value;\n }\n }\n return largest === Infinity ? Infinity : largest * _sqrt(result);\n },\n\n log2: function log2(value) {\n return _log(value) * LOG2E;\n },\n\n log10: function log10(value) {\n return _log(value) * LOG10E;\n },\n\n log1p: _log1p,\n\n sign: _sign,\n\n sinh: function sinh(value) {\n var x = Number(value);\n if (!globalIsFinite(x) || x === 0) { return x; }\n\n var a = _abs(x);\n if (a < 1) {\n var u = Math.expm1(a);\n return _sign(x) * u * (1 + (1 / (u + 1))) / 2;\n }\n var t = _exp(a - 1);\n return _sign(x) * (t - (1 / (t * E * E))) * (E / 2);\n },\n\n tanh: function tanh(value) {\n var x = Number(value);\n if (numberIsNaN(x) || x === 0) { return x; }\n // can exit early at +-20 as JS loses precision for true value at this integer\n if (x >= 20) { return 1; }\n if (x <= -20) { return -1; }\n\n return (Math.expm1(x) - Math.expm1(-x)) / (_exp(x) + _exp(-x));\n },\n\n trunc: function trunc(value) {\n var x = Number(value);\n return x < 0 ? -_floor(-x) : _floor(x);\n },\n\n imul: function imul(x, y) {\n // taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul\n var a = ES.ToUint32(x);\n var b = ES.ToUint32(y);\n var ah = (a >>> 16) & 0xffff;\n var al = a & 0xffff;\n var bh = (b >>> 16) & 0xffff;\n var bl = b & 0xffff;\n // the shift by 0 fixes the sign on the high part\n // the final |0 converts the unsigned value into a signed value\n return (al * bl) + ((((ah * bl) + (al * bh)) << 16) >>> 0) | 0;\n },\n\n fround: function fround(x) {\n var v = Number(x);\n if (v === 0 || v === Infinity || v === -Infinity || numberIsNaN(v)) {\n return v;\n }\n var sign = _sign(v);\n var abs = _abs(v);\n if (abs < BINARY_32_MIN_VALUE) {\n return sign * roundTiesToEven(abs / BINARY_32_MIN_VALUE / BINARY_32_EPSILON) * BINARY_32_MIN_VALUE * BINARY_32_EPSILON;\n }\n // Veltkamp's splitting (?)\n var a = (1 + (BINARY_32_EPSILON / Number.EPSILON)) * abs;\n var result = a - (a - abs);\n if (result > BINARY_32_MAX_VALUE || numberIsNaN(result)) {\n return sign * Infinity;\n }\n return sign * result;\n }\n };\n\n var withinULPDistance = function withinULPDistance(result, expected, distance) {\n return _abs(1 - (result / expected)) / Number.EPSILON < (distance || 8);\n };\n\n defineProperties(Math, MathShims);\n // Chrome < 40 sinh returns ∞ for large numbers\n defineProperty(Math, 'sinh', MathShims.sinh, Math.sinh(710) === Infinity);\n // Chrome < 40 cosh returns ∞ for large numbers\n defineProperty(Math, 'cosh', MathShims.cosh, Math.cosh(710) === Infinity);\n // IE 11 TP has an imprecise log1p: reports Math.log1p(-1e-17) as 0\n defineProperty(Math, 'log1p', MathShims.log1p, Math.log1p(-1e-17) !== -1e-17);\n // IE 11 TP has an imprecise asinh: reports Math.asinh(-1e7) as not exactly equal to -Math.asinh(1e7)\n defineProperty(Math, 'asinh', MathShims.asinh, Math.asinh(-1e7) !== -Math.asinh(1e7));\n // Chrome < 54 asinh returns ∞ for large numbers and should not\n defineProperty(Math, 'asinh', MathShims.asinh, Math.asinh(1e+300) === Infinity);\n // Chrome < 54 atanh incorrectly returns 0 for large numbers\n defineProperty(Math, 'atanh', MathShims.atanh, Math.atanh(1e-300) === 0);\n // Chrome 40 has an imprecise Math.tanh with very small numbers\n defineProperty(Math, 'tanh', MathShims.tanh, Math.tanh(-2e-17) !== -2e-17);\n // Chrome 40 loses Math.acosh precision with high numbers\n defineProperty(Math, 'acosh', MathShims.acosh, Math.acosh(Number.MAX_VALUE) === Infinity);\n // Chrome < 54 has an inaccurate acosh for EPSILON deltas\n defineProperty(Math, 'acosh', MathShims.acosh, !withinULPDistance(Math.acosh(1 + Number.EPSILON), Math.sqrt(2 * Number.EPSILON)));\n // Firefox 38 on Windows\n defineProperty(Math, 'cbrt', MathShims.cbrt, !withinULPDistance(Math.cbrt(1e-300), 1e-100));\n // node 0.11 has an imprecise Math.sinh with very small numbers\n defineProperty(Math, 'sinh', MathShims.sinh, Math.sinh(-2e-17) !== -2e-17);\n // FF 35 on Linux reports 22025.465794806725 for Math.expm1(10)\n var expm1OfTen = Math.expm1(10);\n defineProperty(Math, 'expm1', MathShims.expm1, expm1OfTen > 22025.465794806719 || expm1OfTen < 22025.4657948067165168);\n\n var origMathRound = Math.round;\n // breaks in e.g. Safari 8, Internet Explorer 11, Opera 12\n var roundHandlesBoundaryConditions = Math.round(0.5 - (Number.EPSILON / 4)) === 0 &&\n Math.round(-0.5 + (Number.EPSILON / 3.99)) === 1;\n\n // When engines use Math.floor(x + 0.5) internally, Math.round can be buggy for large integers.\n // This behavior should be governed by \"round to nearest, ties to even mode\"\n // see http://www.ecma-international.org/ecma-262/6.0/#sec-terms-and-definitions-number-type\n // These are the boundary cases where it breaks.\n var smallestPositiveNumberWhereRoundBreaks = inverseEpsilon + 1;\n var largestPositiveNumberWhereRoundBreaks = (2 * inverseEpsilon) - 1;\n var roundDoesNotIncreaseIntegers = [\n smallestPositiveNumberWhereRoundBreaks,\n largestPositiveNumberWhereRoundBreaks\n ].every(function (num) {\n return Math.round(num) === num;\n });\n defineProperty(Math, 'round', function round(x) {\n var floor = _floor(x);\n var ceil = floor === -1 ? -0 : floor + 1;\n return x - floor < 0.5 ? floor : ceil;\n }, !roundHandlesBoundaryConditions || !roundDoesNotIncreaseIntegers);\n Value.preserveToString(Math.round, origMathRound);\n\n var origImul = Math.imul;\n if (Math.imul(0xffffffff, 5) !== -5) {\n // Safari 6.1, at least, reports \"0\" for this value\n Math.imul = MathShims.imul;\n Value.preserveToString(Math.imul, origImul);\n }\n if (Math.imul.length !== 2) {\n // Safari 8.0.4 has a length of 1\n // fixed in https://bugs.webkit.org/show_bug.cgi?id=143658\n overrideNative(Math, 'imul', function imul(x, y) {\n return ES.Call(origImul, Math, arguments);\n });\n }\n\n // Promises\n // Simplest possible implementation; use a 3rd-party library if you\n // want the best possible speed and/or long stack traces.\n var PromiseShim = (function () {\n var setTimeout = globals.setTimeout;\n // some environments don't have setTimeout - no way to shim here.\n if (typeof setTimeout !== 'function' && typeof setTimeout !== 'object') { return; }\n\n ES.IsPromise = function (promise) {\n if (!ES.TypeIsObject(promise)) {\n return false;\n }\n if (typeof promise._promise === 'undefined') {\n return false; // uninitialized, or missing our hidden field.\n }\n return true;\n };\n\n // \"PromiseCapability\" in the spec is what most promise implementations\n // call a \"deferred\".\n var PromiseCapability = function (C) {\n if (!ES.IsConstructor(C)) {\n throw new TypeError('Bad promise constructor');\n }\n var capability = this;\n var resolver = function (resolve, reject) {\n if (capability.resolve !== void 0 || capability.reject !== void 0) {\n throw new TypeError('Bad Promise implementation!');\n }\n capability.resolve = resolve;\n capability.reject = reject;\n };\n // Initialize fields to inform optimizers about the object shape.\n capability.resolve = void 0;\n capability.reject = void 0;\n capability.promise = new C(resolver);\n if (!(ES.IsCallable(capability.resolve) && ES.IsCallable(capability.reject))) {\n throw new TypeError('Bad promise constructor');\n }\n };\n\n // find an appropriate setImmediate-alike\n var makeZeroTimeout;\n /*global window */\n if (typeof window !== 'undefined' && ES.IsCallable(window.postMessage)) {\n makeZeroTimeout = function () {\n // from http://dbaron.org/log/20100309-faster-timeouts\n var timeouts = [];\n var messageName = 'zero-timeout-message';\n var setZeroTimeout = function (fn) {\n _push(timeouts, fn);\n window.postMessage(messageName, '*');\n };\n var handleMessage = function (event) {\n if (event.source === window && event.data === messageName) {\n event.stopPropagation();\n if (timeouts.length === 0) { return; }\n var fn = _shift(timeouts);\n fn();\n }\n };\n window.addEventListener('message', handleMessage, true);\n return setZeroTimeout;\n };\n }\n var makePromiseAsap = function () {\n // An efficient task-scheduler based on a pre-existing Promise\n // implementation, which we can use even if we override the\n // global Promise below (in order to workaround bugs)\n // https://github.com/Raynos/observ-hash/issues/2#issuecomment-35857671\n var P = globals.Promise;\n var pr = P && P.resolve && P.resolve();\n return pr && function (task) {\n return pr.then(task);\n };\n };\n /*global process */\n var enqueue = ES.IsCallable(globals.setImmediate) ?\n globals.setImmediate :\n typeof process === 'object' && process.nextTick ? process.nextTick : makePromiseAsap() ||\n (ES.IsCallable(makeZeroTimeout) ? makeZeroTimeout() : function (task) { setTimeout(task, 0); }); // fallback\n\n // Constants for Promise implementation\n var PROMISE_IDENTITY = function (x) { return x; };\n var PROMISE_THROWER = function (e) { throw e; };\n var PROMISE_PENDING = 0;\n var PROMISE_FULFILLED = 1;\n var PROMISE_REJECTED = 2;\n // We store fulfill/reject handlers and capabilities in a single array.\n var PROMISE_FULFILL_OFFSET = 0;\n var PROMISE_REJECT_OFFSET = 1;\n var PROMISE_CAPABILITY_OFFSET = 2;\n // This is used in an optimization for chaining promises via then.\n var PROMISE_FAKE_CAPABILITY = {};\n\n var enqueuePromiseReactionJob = function (handler, capability, argument) {\n enqueue(function () {\n promiseReactionJob(handler, capability, argument);\n });\n };\n\n var promiseReactionJob = function (handler, promiseCapability, argument) {\n var handlerResult, f;\n if (promiseCapability === PROMISE_FAKE_CAPABILITY) {\n // Fast case, when we don't actually need to chain through to a\n // (real) promiseCapability.\n return handler(argument);\n }\n try {\n handlerResult = handler(argument);\n f = promiseCapability.resolve;\n } catch (e) {\n handlerResult = e;\n f = promiseCapability.reject;\n }\n f(handlerResult);\n };\n\n var fulfillPromise = function (promise, value) {\n var _promise = promise._promise;\n var length = _promise.reactionLength;\n if (length > 0) {\n enqueuePromiseReactionJob(\n _promise.fulfillReactionHandler0,\n _promise.reactionCapability0,\n value\n );\n _promise.fulfillReactionHandler0 = void 0;\n _promise.rejectReactions0 = void 0;\n _promise.reactionCapability0 = void 0;\n if (length > 1) {\n for (var i = 1, idx = 0; i < length; i++, idx += 3) {\n enqueuePromiseReactionJob(\n _promise[idx + PROMISE_FULFILL_OFFSET],\n _promise[idx + PROMISE_CAPABILITY_OFFSET],\n value\n );\n promise[idx + PROMISE_FULFILL_OFFSET] = void 0;\n promise[idx + PROMISE_REJECT_OFFSET] = void 0;\n promise[idx + PROMISE_CAPABILITY_OFFSET] = void 0;\n }\n }\n }\n _promise.result = value;\n _promise.state = PROMISE_FULFILLED;\n _promise.reactionLength = 0;\n };\n\n var rejectPromise = function (promise, reason) {\n var _promise = promise._promise;\n var length = _promise.reactionLength;\n if (length > 0) {\n enqueuePromiseReactionJob(\n _promise.rejectReactionHandler0,\n _promise.reactionCapability0,\n reason\n );\n _promise.fulfillReactionHandler0 = void 0;\n _promise.rejectReactions0 = void 0;\n _promise.reactionCapability0 = void 0;\n if (length > 1) {\n for (var i = 1, idx = 0; i < length; i++, idx += 3) {\n enqueuePromiseReactionJob(\n _promise[idx + PROMISE_REJECT_OFFSET],\n _promise[idx + PROMISE_CAPABILITY_OFFSET],\n reason\n );\n promise[idx + PROMISE_FULFILL_OFFSET] = void 0;\n promise[idx + PROMISE_REJECT_OFFSET] = void 0;\n promise[idx + PROMISE_CAPABILITY_OFFSET] = void 0;\n }\n }\n }\n _promise.result = reason;\n _promise.state = PROMISE_REJECTED;\n _promise.reactionLength = 0;\n };\n\n var createResolvingFunctions = function (promise) {\n var alreadyResolved = false;\n var resolve = function (resolution) {\n var then;\n if (alreadyResolved) { return; }\n alreadyResolved = true;\n if (resolution === promise) {\n return rejectPromise(promise, new TypeError('Self resolution'));\n }\n if (!ES.TypeIsObject(resolution)) {\n return fulfillPromise(promise, resolution);\n }\n try {\n then = resolution.then;\n } catch (e) {\n return rejectPromise(promise, e);\n }\n if (!ES.IsCallable(then)) {\n return fulfillPromise(promise, resolution);\n }\n enqueue(function () {\n promiseResolveThenableJob(promise, resolution, then);\n });\n };\n var reject = function (reason) {\n if (alreadyResolved) { return; }\n alreadyResolved = true;\n return rejectPromise(promise, reason);\n };\n return { resolve: resolve, reject: reject };\n };\n\n var optimizedThen = function (then, thenable, resolve, reject) {\n // Optimization: since we discard the result, we can pass our\n // own then implementation a special hint to let it know it\n // doesn't have to create it. (The PROMISE_FAKE_CAPABILITY\n // object is local to this implementation and unforgeable outside.)\n if (then === Promise$prototype$then) {\n _call(then, thenable, resolve, reject, PROMISE_FAKE_CAPABILITY);\n } else {\n _call(then, thenable, resolve, reject);\n }\n };\n var promiseResolveThenableJob = function (promise, thenable, then) {\n var resolvingFunctions = createResolvingFunctions(promise);\n var resolve = resolvingFunctions.resolve;\n var reject = resolvingFunctions.reject;\n try {\n optimizedThen(then, thenable, resolve, reject);\n } catch (e) {\n reject(e);\n }\n };\n\n var Promise$prototype, Promise$prototype$then;\n var Promise = (function () {\n var PromiseShim = function Promise(resolver) {\n if (!(this instanceof PromiseShim)) {\n throw new TypeError('Constructor Promise requires \"new\"');\n }\n if (this && this._promise) {\n throw new TypeError('Bad construction');\n }\n // see https://bugs.ecmascript.org/show_bug.cgi?id=2482\n if (!ES.IsCallable(resolver)) {\n throw new TypeError('not a valid resolver');\n }\n var promise = emulateES6construct(this, PromiseShim, Promise$prototype, {\n _promise: {\n result: void 0,\n state: PROMISE_PENDING,\n // The first member of the \"reactions\" array is inlined here,\n // since most promises only have one reaction.\n // We've also exploded the 'reaction' object to inline the\n // \"handler\" and \"capability\" fields, since both fulfill and\n // reject reactions share the same capability.\n reactionLength: 0,\n fulfillReactionHandler0: void 0,\n rejectReactionHandler0: void 0,\n reactionCapability0: void 0\n }\n });\n var resolvingFunctions = createResolvingFunctions(promise);\n var reject = resolvingFunctions.reject;\n try {\n resolver(resolvingFunctions.resolve, reject);\n } catch (e) {\n reject(e);\n }\n return promise;\n };\n return PromiseShim;\n }());\n Promise$prototype = Promise.prototype;\n\n var _promiseAllResolver = function (index, values, capability, remaining) {\n var alreadyCalled = false;\n return function (x) {\n if (alreadyCalled) { return; }\n alreadyCalled = true;\n values[index] = x;\n if ((--remaining.count) === 0) {\n var resolve = capability.resolve;\n resolve(values); // call w/ this===undefined\n }\n };\n };\n\n var performPromiseAll = function (iteratorRecord, C, resultCapability) {\n var it = iteratorRecord.iterator;\n var values = [];\n var remaining = { count: 1 };\n var next, nextValue;\n var index = 0;\n while (true) {\n try {\n next = ES.IteratorStep(it);\n if (next === false) {\n iteratorRecord.done = true;\n break;\n }\n nextValue = next.value;\n } catch (e) {\n iteratorRecord.done = true;\n throw e;\n }\n values[index] = void 0;\n var nextPromise = C.resolve(nextValue);\n var resolveElement = _promiseAllResolver(\n index,\n values,\n resultCapability,\n remaining\n );\n remaining.count += 1;\n optimizedThen(nextPromise.then, nextPromise, resolveElement, resultCapability.reject);\n index += 1;\n }\n if ((--remaining.count) === 0) {\n var resolve = resultCapability.resolve;\n resolve(values); // call w/ this===undefined\n }\n return resultCapability.promise;\n };\n\n var performPromiseRace = function (iteratorRecord, C, resultCapability) {\n var it = iteratorRecord.iterator;\n var next, nextValue, nextPromise;\n while (true) {\n try {\n next = ES.IteratorStep(it);\n if (next === false) {\n // NOTE: If iterable has no items, resulting promise will never\n // resolve; see:\n // https://github.com/domenic/promises-unwrapping/issues/75\n // https://bugs.ecmascript.org/show_bug.cgi?id=2515\n iteratorRecord.done = true;\n break;\n }\n nextValue = next.value;\n } catch (e) {\n iteratorRecord.done = true;\n throw e;\n }\n nextPromise = C.resolve(nextValue);\n optimizedThen(nextPromise.then, nextPromise, resultCapability.resolve, resultCapability.reject);\n }\n return resultCapability.promise;\n };\n\n defineProperties(Promise, {\n all: function all(iterable) {\n var C = this;\n if (!ES.TypeIsObject(C)) {\n throw new TypeError('Promise is not object');\n }\n var capability = new PromiseCapability(C);\n var iterator, iteratorRecord;\n try {\n iterator = ES.GetIterator(iterable);\n iteratorRecord = { iterator: iterator, done: false };\n return performPromiseAll(iteratorRecord, C, capability);\n } catch (e) {\n var exception = e;\n if (iteratorRecord && !iteratorRecord.done) {\n try {\n ES.IteratorClose(iterator, true);\n } catch (ee) {\n exception = ee;\n }\n }\n var reject = capability.reject;\n reject(exception);\n return capability.promise;\n }\n },\n\n race: function race(iterable) {\n var C = this;\n if (!ES.TypeIsObject(C)) {\n throw new TypeError('Promise is not object');\n }\n var capability = new PromiseCapability(C);\n var iterator, iteratorRecord;\n try {\n iterator = ES.GetIterator(iterable);\n iteratorRecord = { iterator: iterator, done: false };\n return performPromiseRace(iteratorRecord, C, capability);\n } catch (e) {\n var exception = e;\n if (iteratorRecord && !iteratorRecord.done) {\n try {\n ES.IteratorClose(iterator, true);\n } catch (ee) {\n exception = ee;\n }\n }\n var reject = capability.reject;\n reject(exception);\n return capability.promise;\n }\n },\n\n reject: function reject(reason) {\n var C = this;\n if (!ES.TypeIsObject(C)) {\n throw new TypeError('Bad promise constructor');\n }\n var capability = new PromiseCapability(C);\n var rejectFunc = capability.reject;\n rejectFunc(reason); // call with this===undefined\n return capability.promise;\n },\n\n resolve: function resolve(v) {\n // See https://esdiscuss.org/topic/fixing-promise-resolve for spec\n var C = this;\n if (!ES.TypeIsObject(C)) {\n throw new TypeError('Bad promise constructor');\n }\n if (ES.IsPromise(v)) {\n var constructor = v.constructor;\n if (constructor === C) {\n return v;\n }\n }\n var capability = new PromiseCapability(C);\n var resolveFunc = capability.resolve;\n resolveFunc(v); // call with this===undefined\n return capability.promise;\n }\n });\n\n defineProperties(Promise$prototype, {\n 'catch': function (onRejected) {\n return this.then(null, onRejected);\n },\n\n then: function then(onFulfilled, onRejected) {\n var promise = this;\n if (!ES.IsPromise(promise)) { throw new TypeError('not a promise'); }\n var C = ES.SpeciesConstructor(promise, Promise);\n var resultCapability;\n var returnValueIsIgnored = arguments.length > 2 && arguments[2] === PROMISE_FAKE_CAPABILITY;\n if (returnValueIsIgnored && C === Promise) {\n resultCapability = PROMISE_FAKE_CAPABILITY;\n } else {\n resultCapability = new PromiseCapability(C);\n }\n // PerformPromiseThen(promise, onFulfilled, onRejected, resultCapability)\n // Note that we've split the 'reaction' object into its two\n // components, \"capabilities\" and \"handler\"\n // \"capabilities\" is always equal to `resultCapability`\n var fulfillReactionHandler = ES.IsCallable(onFulfilled) ? onFulfilled : PROMISE_IDENTITY;\n var rejectReactionHandler = ES.IsCallable(onRejected) ? onRejected : PROMISE_THROWER;\n var _promise = promise._promise;\n var value;\n if (_promise.state === PROMISE_PENDING) {\n if (_promise.reactionLength === 0) {\n _promise.fulfillReactionHandler0 = fulfillReactionHandler;\n _promise.rejectReactionHandler0 = rejectReactionHandler;\n _promise.reactionCapability0 = resultCapability;\n } else {\n var idx = 3 * (_promise.reactionLength - 1);\n _promise[idx + PROMISE_FULFILL_OFFSET] = fulfillReactionHandler;\n _promise[idx + PROMISE_REJECT_OFFSET] = rejectReactionHandler;\n _promise[idx + PROMISE_CAPABILITY_OFFSET] = resultCapability;\n }\n _promise.reactionLength += 1;\n } else if (_promise.state === PROMISE_FULFILLED) {\n value = _promise.result;\n enqueuePromiseReactionJob(\n fulfillReactionHandler,\n resultCapability,\n value\n );\n } else if (_promise.state === PROMISE_REJECTED) {\n value = _promise.result;\n enqueuePromiseReactionJob(\n rejectReactionHandler,\n resultCapability,\n value\n );\n } else {\n throw new TypeError('unexpected Promise state');\n }\n return resultCapability.promise;\n }\n });\n // This helps the optimizer by ensuring that methods which take\n // capabilities aren't polymorphic.\n PROMISE_FAKE_CAPABILITY = new PromiseCapability(Promise);\n Promise$prototype$then = Promise$prototype.then;\n\n return Promise;\n }());\n\n // Chrome's native Promise has extra methods that it shouldn't have. Let's remove them.\n if (globals.Promise) {\n delete globals.Promise.accept;\n delete globals.Promise.defer;\n delete globals.Promise.prototype.chain;\n }\n\n if (typeof PromiseShim === 'function') {\n // export the Promise constructor.\n defineProperties(globals, { Promise: PromiseShim });\n // In Chrome 33 (and thereabouts) Promise is defined, but the\n // implementation is buggy in a number of ways. Let's check subclassing\n // support to see if we have a buggy implementation.\n var promiseSupportsSubclassing = supportsSubclassing(globals.Promise, function (S) {\n return S.resolve(42).then(function () {}) instanceof S;\n });\n var promiseIgnoresNonFunctionThenCallbacks = !throwsError(function () {\n return globals.Promise.reject(42).then(null, 5).then(null, noop);\n });\n var promiseRequiresObjectContext = throwsError(function () { return globals.Promise.call(3, noop); });\n // Promise.resolve() was errata'ed late in the ES6 process.\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1170742\n // https://code.google.com/p/v8/issues/detail?id=4161\n // It serves as a proxy for a number of other bugs in early Promise\n // implementations.\n var promiseResolveBroken = (function (Promise) {\n var p = Promise.resolve(5);\n p.constructor = {};\n var p2 = Promise.resolve(p);\n try {\n p2.then(null, noop).then(null, noop); // avoid \"uncaught rejection\" warnings in console\n } catch (e) {\n return true; // v8 native Promises break here https://code.google.com/p/chromium/issues/detail?id=575314\n }\n return p === p2; // This *should* be false!\n }(globals.Promise));\n\n // Chrome 46 (probably older too) does not retrieve a thenable's .then synchronously\n var getsThenSynchronously = supportsDescriptors && (function () {\n var count = 0;\n // eslint-disable-next-line getter-return\n var thenable = Object.defineProperty({}, 'then', { get: function () { count += 1; } });\n Promise.resolve(thenable);\n return count === 1;\n }());\n\n var BadResolverPromise = function BadResolverPromise(executor) {\n var p = new Promise(executor);\n executor(3, function () {});\n this.then = p.then;\n this.constructor = BadResolverPromise;\n };\n BadResolverPromise.prototype = Promise.prototype;\n BadResolverPromise.all = Promise.all;\n // Chrome Canary 49 (probably older too) has some implementation bugs\n var hasBadResolverPromise = valueOrFalseIfThrows(function () {\n return !!BadResolverPromise.all([1, 2]);\n });\n\n if (!promiseSupportsSubclassing || !promiseIgnoresNonFunctionThenCallbacks ||\n !promiseRequiresObjectContext || promiseResolveBroken ||\n !getsThenSynchronously || hasBadResolverPromise) {\n /* globals Promise: true */\n /* eslint-disable no-undef, no-global-assign */\n Promise = PromiseShim;\n /* eslint-enable no-undef, no-global-assign */\n /* globals Promise: false */\n overrideNative(globals, 'Promise', PromiseShim);\n }\n if (Promise.all.length !== 1) {\n var origAll = Promise.all;\n overrideNative(Promise, 'all', function all(iterable) {\n return ES.Call(origAll, this, arguments);\n });\n }\n if (Promise.race.length !== 1) {\n var origRace = Promise.race;\n overrideNative(Promise, 'race', function race(iterable) {\n return ES.Call(origRace, this, arguments);\n });\n }\n if (Promise.resolve.length !== 1) {\n var origResolve = Promise.resolve;\n overrideNative(Promise, 'resolve', function resolve(x) {\n return ES.Call(origResolve, this, arguments);\n });\n }\n if (Promise.reject.length !== 1) {\n var origReject = Promise.reject;\n overrideNative(Promise, 'reject', function reject(r) {\n return ES.Call(origReject, this, arguments);\n });\n }\n ensureEnumerable(Promise, 'all');\n ensureEnumerable(Promise, 'race');\n ensureEnumerable(Promise, 'resolve');\n ensureEnumerable(Promise, 'reject');\n addDefaultSpecies(Promise);\n }\n\n // Map and Set require a true ES5 environment\n // Their fast path also requires that the environment preserve\n // property insertion order, which is not guaranteed by the spec.\n var testOrder = function (a) {\n var b = keys(_reduce(a, function (o, k) {\n o[k] = true;\n return o;\n }, {}));\n return a.join(':') === b.join(':');\n };\n var preservesInsertionOrder = testOrder(['z', 'a', 'bb']);\n // some engines (eg, Chrome) only preserve insertion order for string keys\n var preservesNumericInsertionOrder = testOrder(['z', 1, 'a', '3', 2]);\n\n if (supportsDescriptors) {\n\n var fastkey = function fastkey(key, skipInsertionOrderCheck) {\n if (!skipInsertionOrderCheck && !preservesInsertionOrder) {\n return null;\n }\n if (isNullOrUndefined(key)) {\n return '^' + ES.ToString(key);\n } else if (typeof key === 'string') {\n return '$' + key;\n } else if (typeof key === 'number') {\n // note that -0 will get coerced to \"0\" when used as a property key\n if (!preservesNumericInsertionOrder) {\n return 'n' + key;\n }\n return key;\n } else if (typeof key === 'boolean') {\n return 'b' + key;\n }\n return null;\n };\n\n var emptyObject = function emptyObject() {\n // accomodate some older not-quite-ES5 browsers\n return Object.create ? Object.create(null) : {};\n };\n\n var addIterableToMap = function addIterableToMap(MapConstructor, map, iterable) {\n if (isArray(iterable) || Type.string(iterable)) {\n _forEach(iterable, function (entry) {\n if (!ES.TypeIsObject(entry)) {\n throw new TypeError('Iterator value ' + entry + ' is not an entry object');\n }\n map.set(entry[0], entry[1]);\n });\n } else if (iterable instanceof MapConstructor) {\n _call(MapConstructor.prototype.forEach, iterable, function (value, key) {\n map.set(key, value);\n });\n } else {\n var iter, adder;\n if (!isNullOrUndefined(iterable)) {\n adder = map.set;\n if (!ES.IsCallable(adder)) { throw new TypeError('bad map'); }\n iter = ES.GetIterator(iterable);\n }\n if (typeof iter !== 'undefined') {\n while (true) {\n var next = ES.IteratorStep(iter);\n if (next === false) { break; }\n var nextItem = next.value;\n try {\n if (!ES.TypeIsObject(nextItem)) {\n throw new TypeError('Iterator value ' + nextItem + ' is not an entry object');\n }\n _call(adder, map, nextItem[0], nextItem[1]);\n } catch (e) {\n ES.IteratorClose(iter, true);\n throw e;\n }\n }\n }\n }\n };\n var addIterableToSet = function addIterableToSet(SetConstructor, set, iterable) {\n if (isArray(iterable) || Type.string(iterable)) {\n _forEach(iterable, function (value) {\n set.add(value);\n });\n } else if (iterable instanceof SetConstructor) {\n _call(SetConstructor.prototype.forEach, iterable, function (value) {\n set.add(value);\n });\n } else {\n var iter, adder;\n if (!isNullOrUndefined(iterable)) {\n adder = set.add;\n if (!ES.IsCallable(adder)) { throw new TypeError('bad set'); }\n iter = ES.GetIterator(iterable);\n }\n if (typeof iter !== 'undefined') {\n while (true) {\n var next = ES.IteratorStep(iter);\n if (next === false) { break; }\n var nextValue = next.value;\n try {\n _call(adder, set, nextValue);\n } catch (e) {\n ES.IteratorClose(iter, true);\n throw e;\n }\n }\n }\n }\n };\n\n var collectionShims = {\n Map: (function () {\n\n var empty = {};\n\n var MapEntry = function MapEntry(key, value) {\n this.key = key;\n this.value = value;\n this.next = null;\n this.prev = null;\n };\n\n MapEntry.prototype.isRemoved = function isRemoved() {\n return this.key === empty;\n };\n\n var isMap = function isMap(map) {\n return !!map._es6map;\n };\n\n var requireMapSlot = function requireMapSlot(map, method) {\n if (!ES.TypeIsObject(map) || !isMap(map)) {\n throw new TypeError('Method Map.prototype.' + method + ' called on incompatible receiver ' + ES.ToString(map));\n }\n };\n\n var MapIterator = function MapIterator(map, kind) {\n requireMapSlot(map, '[[MapIterator]]');\n this.head = map._head;\n this.i = this.head;\n this.kind = kind;\n };\n\n MapIterator.prototype = {\n isMapIterator: true,\n next: function next() {\n if (!this.isMapIterator) {\n throw new TypeError('Not a MapIterator');\n }\n var i = this.i;\n var kind = this.kind;\n var head = this.head;\n if (typeof this.i === 'undefined') {\n return iteratorResult();\n }\n while (i.isRemoved() && i !== head) {\n // back up off of removed entries\n i = i.prev;\n }\n // advance to next unreturned element.\n var result;\n while (i.next !== head) {\n i = i.next;\n if (!i.isRemoved()) {\n if (kind === 'key') {\n result = i.key;\n } else if (kind === 'value') {\n result = i.value;\n } else {\n result = [i.key, i.value];\n }\n this.i = i;\n return iteratorResult(result);\n }\n }\n // once the iterator is done, it is done forever.\n this.i = void 0;\n return iteratorResult();\n }\n };\n addIterator(MapIterator.prototype);\n\n var Map$prototype;\n var MapShim = function Map() {\n if (!(this instanceof Map)) {\n throw new TypeError('Constructor Map requires \"new\"');\n }\n if (this && this._es6map) {\n throw new TypeError('Bad construction');\n }\n var map = emulateES6construct(this, Map, Map$prototype, {\n _es6map: true,\n _head: null,\n _map: OrigMap ? new OrigMap() : null,\n _size: 0,\n _storage: emptyObject()\n });\n\n var head = new MapEntry(null, null);\n // circular doubly-linked list.\n /* eslint no-multi-assign: 1 */\n head.next = head.prev = head;\n map._head = head;\n\n // Optionally initialize map from iterable\n if (arguments.length > 0) {\n addIterableToMap(Map, map, arguments[0]);\n }\n return map;\n };\n Map$prototype = MapShim.prototype;\n\n Value.getter(Map$prototype, 'size', function () {\n if (typeof this._size === 'undefined') {\n throw new TypeError('size method called on incompatible Map');\n }\n return this._size;\n });\n\n defineProperties(Map$prototype, {\n get: function get(key) {\n requireMapSlot(this, 'get');\n var entry;\n var fkey = fastkey(key, true);\n if (fkey !== null) {\n // fast O(1) path\n entry = this._storage[fkey];\n if (entry) {\n return entry.value;\n } else {\n return;\n }\n }\n if (this._map) {\n // fast object key path\n entry = origMapGet.call(this._map, key);\n if (entry) {\n return entry.value;\n } else {\n return;\n }\n }\n var head = this._head;\n var i = head;\n while ((i = i.next) !== head) {\n if (ES.SameValueZero(i.key, key)) {\n return i.value;\n }\n }\n },\n\n has: function has(key) {\n requireMapSlot(this, 'has');\n var fkey = fastkey(key, true);\n if (fkey !== null) {\n // fast O(1) path\n return typeof this._storage[fkey] !== 'undefined';\n }\n if (this._map) {\n // fast object key path\n return origMapHas.call(this._map, key);\n }\n var head = this._head;\n var i = head;\n while ((i = i.next) !== head) {\n if (ES.SameValueZero(i.key, key)) {\n return true;\n }\n }\n return false;\n },\n\n set: function set(key, value) {\n requireMapSlot(this, 'set');\n var head = this._head;\n var i = head;\n var entry;\n var fkey = fastkey(key, true);\n if (fkey !== null) {\n // fast O(1) path\n if (typeof this._storage[fkey] !== 'undefined') {\n this._storage[fkey].value = value;\n return this;\n } else {\n entry = this._storage[fkey] = new MapEntry(key, value); /* eslint no-multi-assign: 1 */\n i = head.prev;\n // fall through\n }\n } else if (this._map) {\n // fast object key path\n if (origMapHas.call(this._map, key)) {\n origMapGet.call(this._map, key).value = value;\n } else {\n entry = new MapEntry(key, value);\n origMapSet.call(this._map, key, entry);\n i = head.prev;\n // fall through\n }\n }\n while ((i = i.next) !== head) {\n if (ES.SameValueZero(i.key, key)) {\n i.value = value;\n return this;\n }\n }\n entry = entry || new MapEntry(key, value);\n if (ES.SameValue(-0, key)) {\n entry.key = +0; // coerce -0 to +0 in entry\n }\n entry.next = this._head;\n entry.prev = this._head.prev;\n entry.prev.next = entry;\n entry.next.prev = entry;\n this._size += 1;\n return this;\n },\n\n 'delete': function (key) {\n requireMapSlot(this, 'delete');\n var head = this._head;\n var i = head;\n var fkey = fastkey(key, true);\n if (fkey !== null) {\n // fast O(1) path\n if (typeof this._storage[fkey] === 'undefined') {\n return false;\n }\n i = this._storage[fkey].prev;\n delete this._storage[fkey];\n // fall through\n } else if (this._map) {\n // fast object key path\n if (!origMapHas.call(this._map, key)) {\n return false;\n }\n i = origMapGet.call(this._map, key).prev;\n origMapDelete.call(this._map, key);\n // fall through\n }\n while ((i = i.next) !== head) {\n if (ES.SameValueZero(i.key, key)) {\n i.key = empty;\n i.value = empty;\n i.prev.next = i.next;\n i.next.prev = i.prev;\n this._size -= 1;\n return true;\n }\n }\n return false;\n },\n\n clear: function clear() {\n /* eslint no-multi-assign: 1 */\n requireMapSlot(this, 'clear');\n this._map = OrigMap ? new OrigMap() : null;\n this._size = 0;\n this._storage = emptyObject();\n var head = this._head;\n var i = head;\n var p = i.next;\n while ((i = p) !== head) {\n i.key = empty;\n i.value = empty;\n p = i.next;\n i.next = i.prev = head;\n }\n head.next = head.prev = head;\n },\n\n keys: function keys() {\n requireMapSlot(this, 'keys');\n return new MapIterator(this, 'key');\n },\n\n values: function values() {\n requireMapSlot(this, 'values');\n return new MapIterator(this, 'value');\n },\n\n entries: function entries() {\n requireMapSlot(this, 'entries');\n return new MapIterator(this, 'key+value');\n },\n\n forEach: function forEach(callback) {\n requireMapSlot(this, 'forEach');\n var context = arguments.length > 1 ? arguments[1] : null;\n var it = this.entries();\n for (var entry = it.next(); !entry.done; entry = it.next()) {\n if (context) {\n _call(callback, context, entry.value[1], entry.value[0], this);\n } else {\n callback(entry.value[1], entry.value[0], this);\n }\n }\n }\n });\n addIterator(Map$prototype, Map$prototype.entries);\n\n return MapShim;\n }()),\n\n Set: (function () {\n var isSet = function isSet(set) {\n return set._es6set && typeof set._storage !== 'undefined';\n };\n var requireSetSlot = function requireSetSlot(set, method) {\n if (!ES.TypeIsObject(set) || !isSet(set)) {\n // https://github.com/paulmillr/es6-shim/issues/176\n throw new TypeError('Set.prototype.' + method + ' called on incompatible receiver ' + ES.ToString(set));\n }\n };\n\n // Creating a Map is expensive. To speed up the common case of\n // Sets containing only string or numeric keys, we use an object\n // as backing storage and lazily create a full Map only when\n // required.\n var Set$prototype;\n var SetShim = function Set() {\n if (!(this instanceof Set)) {\n throw new TypeError('Constructor Set requires \"new\"');\n }\n if (this && this._es6set) {\n throw new TypeError('Bad construction');\n }\n var set = emulateES6construct(this, Set, Set$prototype, {\n _es6set: true,\n '[[SetData]]': null,\n _storage: emptyObject()\n });\n if (!set._es6set) {\n throw new TypeError('bad set');\n }\n\n // Optionally initialize Set from iterable\n if (arguments.length > 0) {\n addIterableToSet(Set, set, arguments[0]);\n }\n return set;\n };\n Set$prototype = SetShim.prototype;\n\n var decodeKey = function (key) {\n var k = key;\n if (k === '^null') {\n return null;\n } else if (k === '^undefined') {\n return void 0;\n } else {\n var first = k.charAt(0);\n if (first === '$') {\n return _strSlice(k, 1);\n } else if (first === 'n') {\n return +_strSlice(k, 1);\n } else if (first === 'b') {\n return k === 'btrue';\n }\n }\n return +k;\n };\n // Switch from the object backing storage to a full Map.\n var ensureMap = function ensureMap(set) {\n if (!set['[[SetData]]']) {\n var m = new collectionShims.Map();\n set['[[SetData]]'] = m;\n _forEach(keys(set._storage), function (key) {\n var k = decodeKey(key);\n m.set(k, k);\n });\n set['[[SetData]]'] = m;\n }\n set._storage = null; // free old backing storage\n };\n\n Value.getter(SetShim.prototype, 'size', function () {\n requireSetSlot(this, 'size');\n if (this._storage) {\n return keys(this._storage).length;\n }\n ensureMap(this);\n return this['[[SetData]]'].size;\n });\n\n defineProperties(SetShim.prototype, {\n has: function has(key) {\n requireSetSlot(this, 'has');\n var fkey;\n if (this._storage && (fkey = fastkey(key)) !== null) {\n return !!this._storage[fkey];\n }\n ensureMap(this);\n return this['[[SetData]]'].has(key);\n },\n\n add: function add(key) {\n requireSetSlot(this, 'add');\n var fkey;\n if (this._storage && (fkey = fastkey(key)) !== null) {\n this._storage[fkey] = true;\n return this;\n }\n ensureMap(this);\n this['[[SetData]]'].set(key, key);\n return this;\n },\n\n 'delete': function (key) {\n requireSetSlot(this, 'delete');\n var fkey;\n if (this._storage && (fkey = fastkey(key)) !== null) {\n var hasFKey = _hasOwnProperty(this._storage, fkey);\n return (delete this._storage[fkey]) && hasFKey;\n }\n ensureMap(this);\n return this['[[SetData]]']['delete'](key);\n },\n\n clear: function clear() {\n requireSetSlot(this, 'clear');\n if (this._storage) {\n this._storage = emptyObject();\n }\n if (this['[[SetData]]']) {\n this['[[SetData]]'].clear();\n }\n },\n\n values: function values() {\n requireSetSlot(this, 'values');\n ensureMap(this);\n return new SetIterator(this['[[SetData]]'].values());\n },\n\n entries: function entries() {\n requireSetSlot(this, 'entries');\n ensureMap(this);\n return new SetIterator(this['[[SetData]]'].entries());\n },\n\n forEach: function forEach(callback) {\n requireSetSlot(this, 'forEach');\n var context = arguments.length > 1 ? arguments[1] : null;\n var entireSet = this;\n ensureMap(entireSet);\n this['[[SetData]]'].forEach(function (value, key) {\n if (context) {\n _call(callback, context, key, key, entireSet);\n } else {\n callback(key, key, entireSet);\n }\n });\n }\n });\n defineProperty(SetShim.prototype, 'keys', SetShim.prototype.values, true);\n addIterator(SetShim.prototype, SetShim.prototype.values);\n\n var SetIterator = function SetIterator(it) {\n this.it = it;\n };\n SetIterator.prototype = {\n isSetIterator: true,\n next: function next() {\n if (!this.isSetIterator) {\n throw new TypeError('Not a SetIterator');\n }\n return this.it.next();\n }\n };\n addIterator(SetIterator.prototype);\n\n return SetShim;\n }())\n };\n\n var isGoogleTranslate = globals.Set && !Set.prototype['delete'] && Set.prototype.remove && Set.prototype.items && Set.prototype.map && Array.isArray(new Set().keys);\n if (isGoogleTranslate) {\n // special-case force removal of wildly invalid Set implementation in Google Translate iframes\n // see https://github.com/paulmillr/es6-shim/issues/438 / https://twitter.com/ljharb/status/849335573114363904\n globals.Set = collectionShims.Set;\n }\n if (globals.Map || globals.Set) {\n // Safari 8, for example, doesn't accept an iterable.\n var mapAcceptsArguments = valueOrFalseIfThrows(function () { return new Map([[1, 2]]).get(1) === 2; });\n if (!mapAcceptsArguments) {\n globals.Map = function Map() {\n if (!(this instanceof Map)) {\n throw new TypeError('Constructor Map requires \"new\"');\n }\n var m = new OrigMap();\n if (arguments.length > 0) {\n addIterableToMap(Map, m, arguments[0]);\n }\n delete m.constructor;\n Object.setPrototypeOf(m, globals.Map.prototype);\n return m;\n };\n globals.Map.prototype = create(OrigMap.prototype);\n defineProperty(globals.Map.prototype, 'constructor', globals.Map, true);\n Value.preserveToString(globals.Map, OrigMap);\n }\n var testMap = new Map();\n var mapUsesSameValueZero = (function () {\n // Chrome 38-42, node 0.11/0.12, iojs 1/2 also have a bug when the Map has a size > 4\n var m = new Map([[1, 0], [2, 0], [3, 0], [4, 0]]);\n m.set(-0, m);\n return m.get(0) === m && m.get(-0) === m && m.has(0) && m.has(-0);\n }());\n var mapSupportsChaining = testMap.set(1, 2) === testMap;\n if (!mapUsesSameValueZero || !mapSupportsChaining) {\n overrideNative(Map.prototype, 'set', function set(k, v) {\n _call(origMapSet, this, k === 0 ? 0 : k, v);\n return this;\n });\n }\n if (!mapUsesSameValueZero) {\n defineProperties(Map.prototype, {\n get: function get(k) {\n return _call(origMapGet, this, k === 0 ? 0 : k);\n },\n has: function has(k) {\n return _call(origMapHas, this, k === 0 ? 0 : k);\n }\n }, true);\n Value.preserveToString(Map.prototype.get, origMapGet);\n Value.preserveToString(Map.prototype.has, origMapHas);\n }\n var testSet = new Set();\n var setUsesSameValueZero = Set.prototype['delete'] && Set.prototype.add && Set.prototype.has && (function (s) {\n s['delete'](0);\n s.add(-0);\n return !s.has(0);\n }(testSet));\n var setSupportsChaining = testSet.add(1) === testSet;\n if (!setUsesSameValueZero || !setSupportsChaining) {\n var origSetAdd = Set.prototype.add;\n Set.prototype.add = function add(v) {\n _call(origSetAdd, this, v === 0 ? 0 : v);\n return this;\n };\n Value.preserveToString(Set.prototype.add, origSetAdd);\n }\n if (!setUsesSameValueZero) {\n var origSetHas = Set.prototype.has;\n Set.prototype.has = function has(v) {\n return _call(origSetHas, this, v === 0 ? 0 : v);\n };\n Value.preserveToString(Set.prototype.has, origSetHas);\n var origSetDel = Set.prototype['delete'];\n Set.prototype['delete'] = function SetDelete(v) {\n return _call(origSetDel, this, v === 0 ? 0 : v);\n };\n Value.preserveToString(Set.prototype['delete'], origSetDel);\n }\n var mapSupportsSubclassing = supportsSubclassing(globals.Map, function (M) {\n var m = new M([]);\n // Firefox 32 is ok with the instantiating the subclass but will\n // throw when the map is used.\n m.set(42, 42);\n return m instanceof M;\n });\n // without Object.setPrototypeOf, subclassing is not possible\n var mapFailsToSupportSubclassing = Object.setPrototypeOf && !mapSupportsSubclassing;\n var mapRequiresNew = (function () {\n try {\n return !(globals.Map() instanceof globals.Map);\n } catch (e) {\n return e instanceof TypeError;\n }\n }());\n if (globals.Map.length !== 0 || mapFailsToSupportSubclassing || !mapRequiresNew) {\n globals.Map = function Map() {\n if (!(this instanceof Map)) {\n throw new TypeError('Constructor Map requires \"new\"');\n }\n var m = new OrigMap();\n if (arguments.length > 0) {\n addIterableToMap(Map, m, arguments[0]);\n }\n delete m.constructor;\n Object.setPrototypeOf(m, Map.prototype);\n return m;\n };\n globals.Map.prototype = OrigMap.prototype;\n defineProperty(globals.Map.prototype, 'constructor', globals.Map, true);\n Value.preserveToString(globals.Map, OrigMap);\n }\n var setSupportsSubclassing = supportsSubclassing(globals.Set, function (S) {\n var s = new S([]);\n s.add(42, 42);\n return s instanceof S;\n });\n // without Object.setPrototypeOf, subclassing is not possible\n var setFailsToSupportSubclassing = Object.setPrototypeOf && !setSupportsSubclassing;\n var setRequiresNew = (function () {\n try {\n return !(globals.Set() instanceof globals.Set);\n } catch (e) {\n return e instanceof TypeError;\n }\n }());\n if (globals.Set.length !== 0 || setFailsToSupportSubclassing || !setRequiresNew) {\n var OrigSet = globals.Set;\n globals.Set = function Set() {\n if (!(this instanceof Set)) {\n throw new TypeError('Constructor Set requires \"new\"');\n }\n var s = new OrigSet();\n if (arguments.length > 0) {\n addIterableToSet(Set, s, arguments[0]);\n }\n delete s.constructor;\n Object.setPrototypeOf(s, Set.prototype);\n return s;\n };\n globals.Set.prototype = OrigSet.prototype;\n defineProperty(globals.Set.prototype, 'constructor', globals.Set, true);\n Value.preserveToString(globals.Set, OrigSet);\n }\n var newMap = new globals.Map();\n var mapIterationThrowsStopIterator = !valueOrFalseIfThrows(function () {\n return newMap.keys().next().done;\n });\n /*\n - In Firefox < 23, Map#size is a function.\n - In all current Firefox, Set#entries/keys/values & Map#clear do not exist\n - https://bugzilla.mozilla.org/show_bug.cgi?id=869996\n - In Firefox 24, Map and Set do not implement forEach\n - In Firefox 25 at least, Map and Set are callable without \"new\"\n */\n if (\n typeof globals.Map.prototype.clear !== 'function' ||\n new globals.Set().size !== 0 ||\n newMap.size !== 0 ||\n typeof globals.Map.prototype.keys !== 'function' ||\n typeof globals.Set.prototype.keys !== 'function' ||\n typeof globals.Map.prototype.forEach !== 'function' ||\n typeof globals.Set.prototype.forEach !== 'function' ||\n isCallableWithoutNew(globals.Map) ||\n isCallableWithoutNew(globals.Set) ||\n typeof newMap.keys().next !== 'function' || // Safari 8\n mapIterationThrowsStopIterator || // Firefox 25\n !mapSupportsSubclassing\n ) {\n defineProperties(globals, {\n Map: collectionShims.Map,\n Set: collectionShims.Set\n }, true);\n }\n\n if (globals.Set.prototype.keys !== globals.Set.prototype.values) {\n // Fixed in WebKit with https://bugs.webkit.org/show_bug.cgi?id=144190\n defineProperty(globals.Set.prototype, 'keys', globals.Set.prototype.values, true);\n }\n\n // Shim incomplete iterator implementations.\n addIterator(Object.getPrototypeOf((new globals.Map()).keys()));\n addIterator(Object.getPrototypeOf((new globals.Set()).keys()));\n\n if (functionsHaveNames && globals.Set.prototype.has.name !== 'has') {\n // Microsoft Edge v0.11.10074.0 is missing a name on Set#has\n var anonymousSetHas = globals.Set.prototype.has;\n overrideNative(globals.Set.prototype, 'has', function has(key) {\n return _call(anonymousSetHas, this, key);\n });\n }\n }\n defineProperties(globals, collectionShims);\n addDefaultSpecies(globals.Map);\n addDefaultSpecies(globals.Set);\n }\n\n var throwUnlessTargetIsObject = function throwUnlessTargetIsObject(target) {\n if (!ES.TypeIsObject(target)) {\n throw new TypeError('target must be an object');\n }\n };\n\n // Some Reflect methods are basically the same as\n // those on the Object global, except that a TypeError is thrown if\n // target isn't an object. As well as returning a boolean indicating\n // the success of the operation.\n var ReflectShims = {\n // Apply method in a functional form.\n apply: function apply() {\n return ES.Call(ES.Call, null, arguments);\n },\n\n // New operator in a functional form.\n construct: function construct(constructor, args) {\n if (!ES.IsConstructor(constructor)) {\n throw new TypeError('First argument must be a constructor.');\n }\n var newTarget = arguments.length > 2 ? arguments[2] : constructor;\n if (!ES.IsConstructor(newTarget)) {\n throw new TypeError('new.target must be a constructor.');\n }\n return ES.Construct(constructor, args, newTarget, 'internal');\n },\n\n // When deleting a non-existent or configurable property,\n // true is returned.\n // When attempting to delete a non-configurable property,\n // it will return false.\n deleteProperty: function deleteProperty(target, key) {\n throwUnlessTargetIsObject(target);\n if (supportsDescriptors) {\n var desc = Object.getOwnPropertyDescriptor(target, key);\n\n if (desc && !desc.configurable) {\n return false;\n }\n }\n\n // Will return true.\n return delete target[key];\n },\n\n has: function has(target, key) {\n throwUnlessTargetIsObject(target);\n return key in target;\n }\n };\n\n if (Object.getOwnPropertyNames) {\n Object.assign(ReflectShims, {\n // Basically the result of calling the internal [[OwnPropertyKeys]].\n // Concatenating propertyNames and propertySymbols should do the trick.\n // This should continue to work together with a Symbol shim\n // which overrides Object.getOwnPropertyNames and implements\n // Object.getOwnPropertySymbols.\n ownKeys: function ownKeys(target) {\n throwUnlessTargetIsObject(target);\n var keys = Object.getOwnPropertyNames(target);\n\n if (ES.IsCallable(Object.getOwnPropertySymbols)) {\n _pushApply(keys, Object.getOwnPropertySymbols(target));\n }\n\n return keys;\n }\n });\n }\n\n var callAndCatchException = function ConvertExceptionToBoolean(func) {\n return !throwsError(func);\n };\n\n if (Object.preventExtensions) {\n Object.assign(ReflectShims, {\n isExtensible: function isExtensible(target) {\n throwUnlessTargetIsObject(target);\n return Object.isExtensible(target);\n },\n preventExtensions: function preventExtensions(target) {\n throwUnlessTargetIsObject(target);\n return callAndCatchException(function () {\n return Object.preventExtensions(target);\n });\n }\n });\n }\n\n if (supportsDescriptors) {\n var internalGet = function get(target, key, receiver) {\n var desc = Object.getOwnPropertyDescriptor(target, key);\n\n if (!desc) {\n var parent = Object.getPrototypeOf(target);\n\n if (parent === null) {\n return void 0;\n }\n\n return internalGet(parent, key, receiver);\n }\n\n if ('value' in desc) {\n return desc.value;\n }\n\n if (desc.get) {\n return ES.Call(desc.get, receiver);\n }\n\n return void 0;\n };\n\n var internalSet = function set(target, key, value, receiver) {\n var desc = Object.getOwnPropertyDescriptor(target, key);\n\n if (!desc) {\n var parent = Object.getPrototypeOf(target);\n\n if (parent !== null) {\n return internalSet(parent, key, value, receiver);\n }\n\n desc = {\n value: void 0,\n writable: true,\n enumerable: true,\n configurable: true\n };\n }\n\n if ('value' in desc) {\n if (!desc.writable) {\n return false;\n }\n\n if (!ES.TypeIsObject(receiver)) {\n return false;\n }\n\n var existingDesc = Object.getOwnPropertyDescriptor(receiver, key);\n\n if (existingDesc) {\n return Reflect.defineProperty(receiver, key, {\n value: value\n });\n } else {\n return Reflect.defineProperty(receiver, key, {\n value: value,\n writable: true,\n enumerable: true,\n configurable: true\n });\n }\n }\n\n if (desc.set) {\n _call(desc.set, receiver, value);\n return true;\n }\n\n return false;\n };\n\n Object.assign(ReflectShims, {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n throwUnlessTargetIsObject(target);\n return callAndCatchException(function () {\n return Object.defineProperty(target, propertyKey, attributes);\n });\n },\n\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n throwUnlessTargetIsObject(target);\n return Object.getOwnPropertyDescriptor(target, propertyKey);\n },\n\n // Syntax in a functional form.\n get: function get(target, key) {\n throwUnlessTargetIsObject(target);\n var receiver = arguments.length > 2 ? arguments[2] : target;\n\n return internalGet(target, key, receiver);\n },\n\n set: function set(target, key, value) {\n throwUnlessTargetIsObject(target);\n var receiver = arguments.length > 3 ? arguments[3] : target;\n\n return internalSet(target, key, value, receiver);\n }\n });\n }\n\n if (Object.getPrototypeOf) {\n var objectDotGetPrototypeOf = Object.getPrototypeOf;\n ReflectShims.getPrototypeOf = function getPrototypeOf(target) {\n throwUnlessTargetIsObject(target);\n return objectDotGetPrototypeOf(target);\n };\n }\n\n if (Object.setPrototypeOf && ReflectShims.getPrototypeOf) {\n var willCreateCircularPrototype = function (object, lastProto) {\n var proto = lastProto;\n while (proto) {\n if (object === proto) {\n return true;\n }\n proto = ReflectShims.getPrototypeOf(proto);\n }\n return false;\n };\n\n Object.assign(ReflectShims, {\n // Sets the prototype of the given object.\n // Returns true on success, otherwise false.\n setPrototypeOf: function setPrototypeOf(object, proto) {\n throwUnlessTargetIsObject(object);\n if (proto !== null && !ES.TypeIsObject(proto)) {\n throw new TypeError('proto must be an object or null');\n }\n\n // If they already are the same, we're done.\n if (proto === Reflect.getPrototypeOf(object)) {\n return true;\n }\n\n // Cannot alter prototype if object not extensible.\n if (Reflect.isExtensible && !Reflect.isExtensible(object)) {\n return false;\n }\n\n // Ensure that we do not create a circular prototype chain.\n if (willCreateCircularPrototype(object, proto)) {\n return false;\n }\n\n Object.setPrototypeOf(object, proto);\n\n return true;\n }\n });\n }\n var defineOrOverrideReflectProperty = function (key, shim) {\n if (!ES.IsCallable(globals.Reflect[key])) {\n defineProperty(globals.Reflect, key, shim);\n } else {\n var acceptsPrimitives = valueOrFalseIfThrows(function () {\n globals.Reflect[key](1);\n globals.Reflect[key](NaN);\n globals.Reflect[key](true);\n return true;\n });\n if (acceptsPrimitives) {\n overrideNative(globals.Reflect, key, shim);\n }\n }\n };\n Object.keys(ReflectShims).forEach(function (key) {\n defineOrOverrideReflectProperty(key, ReflectShims[key]);\n });\n var originalReflectGetProto = globals.Reflect.getPrototypeOf;\n if (functionsHaveNames && originalReflectGetProto && originalReflectGetProto.name !== 'getPrototypeOf') {\n overrideNative(globals.Reflect, 'getPrototypeOf', function getPrototypeOf(target) {\n return _call(originalReflectGetProto, globals.Reflect, target);\n });\n }\n if (globals.Reflect.setPrototypeOf) {\n if (valueOrFalseIfThrows(function () {\n globals.Reflect.setPrototypeOf(1, {});\n return true;\n })) {\n overrideNative(globals.Reflect, 'setPrototypeOf', ReflectShims.setPrototypeOf);\n }\n }\n if (globals.Reflect.defineProperty) {\n if (!valueOrFalseIfThrows(function () {\n var basic = !globals.Reflect.defineProperty(1, 'test', { value: 1 });\n // \"extensible\" fails on Edge 0.12\n var extensible = typeof Object.preventExtensions !== 'function' || !globals.Reflect.defineProperty(Object.preventExtensions({}), 'test', {});\n return basic && extensible;\n })) {\n overrideNative(globals.Reflect, 'defineProperty', ReflectShims.defineProperty);\n }\n }\n if (globals.Reflect.construct) {\n if (!valueOrFalseIfThrows(function () {\n var F = function F() {};\n return globals.Reflect.construct(function () {}, [], F) instanceof F;\n })) {\n overrideNative(globals.Reflect, 'construct', ReflectShims.construct);\n }\n }\n\n if (String(new Date(NaN)) !== 'Invalid Date') {\n var dateToString = Date.prototype.toString;\n var shimmedDateToString = function toString() {\n var valueOf = +this;\n if (valueOf !== valueOf) {\n return 'Invalid Date';\n }\n return ES.Call(dateToString, this);\n };\n overrideNative(Date.prototype, 'toString', shimmedDateToString);\n }\n\n // Annex B HTML methods\n // http://www.ecma-international.org/ecma-262/6.0/#sec-additional-properties-of-the-string.prototype-object\n var stringHTMLshims = {\n anchor: function anchor(name) { return ES.CreateHTML(this, 'a', 'name', name); },\n big: function big() { return ES.CreateHTML(this, 'big', '', ''); },\n blink: function blink() { return ES.CreateHTML(this, 'blink', '', ''); },\n bold: function bold() { return ES.CreateHTML(this, 'b', '', ''); },\n fixed: function fixed() { return ES.CreateHTML(this, 'tt', '', ''); },\n fontcolor: function fontcolor(color) { return ES.CreateHTML(this, 'font', 'color', color); },\n fontsize: function fontsize(size) { return ES.CreateHTML(this, 'font', 'size', size); },\n italics: function italics() { return ES.CreateHTML(this, 'i', '', ''); },\n link: function link(url) { return ES.CreateHTML(this, 'a', 'href', url); },\n small: function small() { return ES.CreateHTML(this, 'small', '', ''); },\n strike: function strike() { return ES.CreateHTML(this, 'strike', '', ''); },\n sub: function sub() { return ES.CreateHTML(this, 'sub', '', ''); },\n sup: function sub() { return ES.CreateHTML(this, 'sup', '', ''); }\n };\n _forEach(Object.keys(stringHTMLshims), function (key) {\n var method = String.prototype[key];\n var shouldOverwrite = false;\n if (ES.IsCallable(method)) {\n var output = _call(method, '', ' \" ');\n var quotesCount = _concat([], output.match(/\"/g)).length;\n shouldOverwrite = output !== output.toLowerCase() || quotesCount > 2;\n } else {\n shouldOverwrite = true;\n }\n if (shouldOverwrite) {\n overrideNative(String.prototype, key, stringHTMLshims[key]);\n }\n });\n\n var JSONstringifiesSymbols = (function () {\n // Microsoft Edge v0.12 stringifies Symbols incorrectly\n if (!hasSymbols) { return false; } // Symbols are not supported\n var stringify = typeof JSON === 'object' && typeof JSON.stringify === 'function' ? JSON.stringify : null;\n if (!stringify) { return false; } // JSON.stringify is not supported\n if (typeof stringify(Symbol()) !== 'undefined') { return true; } // Symbols should become `undefined`\n if (stringify([Symbol()]) !== '[null]') { return true; } // Symbols in arrays should become `null`\n var obj = { a: Symbol() };\n obj[Symbol()] = true;\n if (stringify(obj) !== '{}') { return true; } // Symbol-valued keys *and* Symbol-valued properties should be omitted\n return false;\n }());\n var JSONstringifyAcceptsObjectSymbol = valueOrFalseIfThrows(function () {\n // Chrome 45 throws on stringifying object symbols\n if (!hasSymbols) { return true; } // Symbols are not supported\n return JSON.stringify(Object(Symbol())) === '{}' && JSON.stringify([Object(Symbol())]) === '[{}]';\n });\n if (JSONstringifiesSymbols || !JSONstringifyAcceptsObjectSymbol) {\n var origStringify = JSON.stringify;\n overrideNative(JSON, 'stringify', function stringify(value) {\n if (typeof value === 'symbol') { return; }\n var replacer;\n if (arguments.length > 1) {\n replacer = arguments[1];\n }\n var args = [value];\n if (!isArray(replacer)) {\n var replaceFn = ES.IsCallable(replacer) ? replacer : null;\n var wrappedReplacer = function (key, val) {\n var parsedValue = replaceFn ? _call(replaceFn, this, key, val) : val;\n if (typeof parsedValue !== 'symbol') {\n if (Type.symbol(parsedValue)) {\n return assignTo({})(parsedValue);\n } else {\n return parsedValue;\n }\n }\n };\n args.push(wrappedReplacer);\n } else {\n // create wrapped replacer that handles an array replacer?\n args.push(replacer);\n }\n if (arguments.length > 2) {\n args.push(arguments[2]);\n }\n return origStringify.apply(this, args);\n });\n }\n\n return globals;\n}));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/es6-shim/es6-shim.js\n// module id = 2\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/process/browser.js\n// module id = 3\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n// WEBPACK FOOTER //\n// ./source/main.scss","import {each, closest, create_widget, find_widgets, flush_widgets, remove_widget} from './helpers'\n\n/**\n * http://krasimirtsonev.com/blog/article/A-modern-JavaScript-router-in-100-lines-history-api-pushState-hash-url\n */\n/*\n * Hotfix https://jira.prototypes.ru/browse/VOIS-68\n */\n\nif (!(function f() {}).name) {\n Object.defineProperty(Function.prototype, 'name', {\n get: function() {\n var name = this.toString().match(/^function\\s*([^\\s(]+)/)[1];\n // For better performance only parse once, and then cache the\n // result through a new accessor for repeated access.\n Object.defineProperty(this, 'name', { value: name });\n return name;\n }\n });\n}\nif (!FormData.prototype.delete) {\n FormData.prototype.delete = function () {\n return;\n };\n}\nif (!Element.prototype.matches && Element.prototype.msMatchesSelector) {\n Element.prototype.matches = function (selector) {\n return this.msMatchesSelector(selector);\n };\n}\n\nlet Router = {\n routes: [],\n mode: null,\n root: '/',\n error_handler: null,\n _page_item: 0,\n _abort: null,\n\n _controllers: {},\n\n\n /**\n * Задание конфигов\n * @param options\n * @returns {config}\n */\n config: function(options) {\n this.mode = options && options.mode && options.mode == 'history'\n && !!(history.pushState) ? 'history' : 'hash';\n this.root = options && options.root ? '/' + this.clearSlashes(options.root) + '/' : '/';\n\n if (options.error_handler) {\n this.error_handler = options.error_handler;\n }\n\n return this;\n },\n\n\n getQueryParameters: function(str = document.location.search) {\n if (str.length) {\n return (str || document.location.search).replace(/(^\\?)/,'').split(\"&\").map(\n function (string) {\n let idx = string.indexOf(\"=\") + 1;\n let name = string.slice(0, string.indexOf(\"=\"));\n this[name] = decodeURIComponent(string.slice(idx, string.length));\n\n return this;\n }.bind({})\n )[0]\n }\n },\n\n\n /**\n * Вызов error_handler если ни один роут не найден\n * @param controller\n */\n error_page: function (controller) {\n this.error_handler = function (...argv) {\n new controller(...argv);\n };\n },\n\n\n /**\n * Получение фрагмента url\n * @returns {*}\n */\n getFragment: function() {\n var fragment = '';\n if(this.mode === 'history') {\n fragment = this.clearSlashes(decodeURI(location.pathname + location.search));\n fragment = fragment.replace(/\\?(.*)$/, '');\n fragment = this.root != '/' ? fragment.replace(this.clearSlashes(this.root), '') : fragment;\n } else {\n var match = window.location.href.match(/#(.*)$/);\n fragment = match ? match[1] : '';\n }\n return this.clearSlashes(fragment);\n },\n\n\n /**\n * Удаление слешей из строки\n * @param path\n * @returns {string|XML}\n */\n clearSlashes: function(path) {\n return path.toString().replace(/\\/$/, '').replace(/^\\//, '');\n },\n\n\n /**\n * Добавление роута\n * @param path\n * @param handler\n * @returns {add}\n */\n add: function(path, handler) {\n this.routes.push({ path: this.clearSlashes(path), handler: handler});\n return this;\n },\n\n\n /**\n * Добавление роута с классом\n * @param path\n * @param controller\n */\n add_page: function (controller) {\n let routers = [];\n\n if (!controller.route) {\n throw 'Invalid query parameters are set, there is no Controller.route() method';\n }\n\n this._controllers[controller.name] = controller;\n\n if (controller.route && controller.route.toString() === '[object Object]') {\n routers = Object.keys(controller.route).map(function(item) {\n return controller.route[item];\n });\n } else {\n routers = Array.isArray(controller.route) ? controller.route : [controller.route];\n }\n\n each(routers, route => {\n this.add(route, function (params) {\n each(find_widgets(document.body), widget => {\n remove_widget(widget);\n });\n\n flush_widgets(document.body);\n\n let instance = new controller(params, this.getQueryParameters());\n create_widget(document.body, instance);\n\n }.bind(this));\n });\n },\n\n\n /**\n * Удаление роута\n * @param path\n * @returns {remove}\n */\n remove: function(path) {\n this.routes.forEach(function (route, index) {\n if (route.path === path) {\n this.routes.splice(i, 1);\n }\n }.bind(this));\n\n return this;\n },\n\n\n /**\n * Очистка всех роутов\n * @returns {flush}\n */\n flush: function() {\n this.routes = [];\n this.mode = null;\n this.root = '/';\n return this;\n },\n\n\n /**\n * Проверка текущего урла\n * @param f\n * @returns {check}\n */\n check: function (f) {\n let fragment = f || this.getFragment();\n let fragment_list = fragment.split('/');\n let re = new RegExp('<(.*)>', 'i');\n\n if (this._abort !== null) {\n return this;\n }\n\n for (let i = 0; i < this.routes.length; i++) {\n let route = this.routes[i];\n\n if (fragment === route.path) {\n route.handler.apply({});\n return this;\n } else {\n let path_list = route.path.split('/');\n let params = {};\n let is_valid = true;\n\n if (path_list.length === fragment_list.length) {\n path_list.forEach(function (item, index) {\n if(item.match(re)) {\n let name = item.replace(/[<>\\n]/g, '');\n params[name] = fragment_list[index];\n\n } else if (fragment_list[index] !== item) {\n is_valid = false;\n return false;\n }\n });\n\n if (is_valid) {\n route.handler.apply({}, [params]);\n return this;\n }\n }\n }\n }\n\n this.abort(404);\n return this;\n },\n\n\n /**\n * Запуск слушателя\n * @returns {listen}\n */\n listen: function() {\n let current = this.getFragment();\n let search = window.location.search;\n let pushState = history.pushState;\n history.pushState = function(state) {\n let ps = pushState.apply(history, arguments);\n\n if (typeof history.onpushstate == \"function\") {\n history.onpushstate({state: state});\n }\n\n return ps;\n };\n\n\n document.removeEventListener('click', history_target);\n document.addEventListener('click', history_target);\n\n window.onpopstate = history.onpushstate = function () {\n if(current !== this.getFragment() || search !== window.location.search) {\n current = this.getFragment();\n search = window.location.search;\n this.check(current);\n }\n }.bind(this);\n return this;\n },\n\n\n /**\n * Переключение между роутами\n * @param path\n * @returns {navigate}\n */\n navigate: function(path) {\n let search = window.location.search;\n path = path ? path : '';\n\n if (path.indexOf('#') > -1) {\n return this;\n }\n\n if (this.mode === 'history') {\n let new_path = this.root + path.replace(/^\\//, '');\n\n if (window.location.pathname + search !== new_path){\n history.pushState(null, null, new_path);\n } else {\n this.check();\n }\n } else {\n window.location.href = window.location.href.replace(/#(.*)$/, '') + '#' + path;\n }\n\n return this;\n },\n\n\n /**\n * Прервать рендер страници и вызвать ошибку\n * @param code\n */\n abort: function(code) {\n if (this.error_handler) {\n this.error_handler.apply({}, [code]);\n this._abort = null;\n }\n },\n\n\n /**\n * Получение контролера по имени\n * @param controller_name\n * @returns {*}\n */\n get_controller: function(controller_name) {\n return this._controllers[controller_name];\n },\n\n\n /**\n * Получение урла по имени контроллера\n */\n get_url: function(name, params={}) {\n let controller_name = name.split('.').shift();\n let key = name.split('.').pop();\n let page_controller = Router.get_controller(controller_name);\n let path;\n\n if (!page_controller || !page_controller.route) {\n throw 'Invalid query parameters are set, there is no Controller.route() method';\n }\n\n if (name.indexOf('.') > -1) {\n path = page_controller.route[key]\n } else {\n path = page_controller.route;\n }\n Object.keys(params).forEach(key => {\n path = path.replace('<'+key+'>', params[key]);\n });\n\n return path;\n },\n\n\n /**\n * Проверка текущего урла\n * @param controller_name\n * @param params\n * @returns {boolean}\n */\n has_url: function(controller_name, params={}) {\n return this.getFragment() == this.clearSlashes(this.get_url.apply({}, arguments));\n }\n};\n\n\nmodule.exports = Router;\n\n\n/**\n * Обработка ссылок на странице в режиме history\n * @param event\n */\nfunction history_target(event) {\n let a = closest(event.target, 'a');\n\n if (!a) {\n return;\n }\n\n if (event.metaKey || event.button !== 0) {\n return;\n }\n\n if (!a.hash && !a.hasAttribute('target')) {\n event.preventDefault();\n Router.navigate(a.getAttribute('href'));\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/router.js","import xhr from './functions/xhr';\nimport config from './config';\n\n\n/**\n * Отправление POST запроса\n * @param url\n * @param data\n * @param handler\n * @param error\n */\nexport function post(url, data, handler, error) {\n let argv = Array.prototype.slice.call(arguments);\n argv.unshift('post');\n return xhr.apply({}, argv);\n}\n\n\n/**\n * Отправление GET запроса\n * @param url\n * @param data\n * @param handler\n * @param error\n */\nexport function get(url, data, handler, error) {\n let argv = Array.prototype.slice.call(arguments);\n argv.unshift('get');\n return xhr.apply({}, argv);\n}\n\n\n/**\n * Получение JSON из строки, если строка невалидная вернется пустой объект\n * @param string\n * @returns {{}}\n */\nexport function parse_json(string) {\n try {\n return JSON.parse(string);\n } catch (e) {\n return {}\n }\n}\n\n\n/**\n * Обертка над forEach\n * @param list\n * @param handler\n */\nexport function each(list, handler) {\n if (!list) {\n return;\n }\n\n if (!(list instanceof Array)) {\n list = Array.prototype.slice.call(list);\n }\n\n for (let i = 0; i < list.length; i++) {\n if (handler(list[i], i) === false) {\n break;\n }\n }\n}\n\n\n/**\n * Обертка над addEventListener, принимает как одну так и список HTMLElements\n * @param node_list\n * @param event_name\n * @param handler\n */\nexport function attach_event(node_list, event_name, handler) {\n if (node_list instanceof HTMLElement) {\n node_list = [node_list];\n }\n\n each(node_list, function (node) {\n node.addEventListener(event_name, handler);\n });\n}\n\n\n/**\n * Удаление событий\n * @param node_list\n * @param event_name\n * @param handler\n */\nexport function remove_event(node_list, event_name, handler) {\n if (node_list instanceof HTMLElement) {\n node_list = [node_list];\n }\n\n each(node_list, function (node) {\n node.removeEventListener(event_name, handler);\n });\n}\n\n\n/**\n * Получение индекса элемента внутри родителя\n * @param node\n * @returns {number}\n */\nexport function index_element(node) {\n let index = 0;\n each(node.parentNode.children, function (element, position) {\n if (node === element) {\n index = position;\n }\n });\n return index\n}\n\n\n/**\n * Поиск родителя по селектору\n * @param node\n * @param selector\n * @returns {*}\n */\nexport function closest(node, selector) {\n let result = null;\n\n while(node) {\n if (node.matches(selector)) {\n result = node;\n break;\n }\n\n node = node.parentElement;\n }\n\n return result;\n}\n\n\n/**\n * Проверка на HTMLElement\n * @param element\n * @returns {boolean}\n */\nexport function is_element(element) {\n try {\n return element instanceof HTMLElement;\n }\n catch(e){\n return (typeof element === \"object\") &&\n (element.nodeType === 1) && (typeof element.style === \"object\") &&\n (typeof element.ownerDocument === \"object\");\n }\n}\n\n\n/**\n * Получение css свойства\n * @param element\n * @param property\n * @returns {string}\n */\nexport function css_property(element, property) {\n return window.getComputedStyle(element, null).getPropertyValue(property);\n}\n\n\n/**\n * Получение списка виджетов\n * @param node\n * @returns {Array}\n */\nexport function get_widgets(node) {\n return node.__list_widget__ || [];\n}\n\n\n/**\n * Возвра щает виджет из ноды по названию\n * @param node\n * @param widget_name\n * @returns {*}\n */\nexport function get_widget(node, widget_name=false) {\n let widget = null;\n\n each(get_widgets(node), item => {\n if (item.constructor.name === widget_name) {\n widget = item;\n return false;\n }\n });\n\n return widget;\n}\n\n\n/**\n * Проверка на существование виджета в ноде по инстансу\n * @param node\n * @param instance\n * @returns {boolean}\n */\nexport function has_widget(node, instance) {\n let result = false;\n\n each(get_widgets(node), item => {\n if (item === instance) {\n result = true;\n return false;\n }\n });\n\n return result;\n}\n\n\n/**\n * Очистка всех виджетов с ноды\n * @param node\n */\nexport function flush_widgets(node) {\n each(node.__list_widget__, widget => {\n remove_widget(widget);\n });\n node.__list_widget__ = [];\n node.classList.remove('.widget');\n}\n\n\n/**\n * Уделение виджета\n * @param widget\n */\nexport function remove_widget(widget) {\n if (widget.destructor) {\n widget.destructor();\n }\n widget = null;\n}\n\n\n/**\n * Поиск виджетов в текущей ноде и всех внутри нее\n * @param node\n * @returns {Array}\n */\nexport function find_widgets(node) {\n let widgets = [];\n\n widgets = widgets.concat(get_widgets(node));\n each(node.querySelectorAll('.widget'), item => {\n widgets = widgets.concat(get_widgets(item));\n });\n\n return widgets;\n}\n\n\n/**\n * Создание/добавление виджета в ноду\n * @param node\n * @param instance\n */\nexport function create_widget(node, instance) {\n if (!node.__list_widget__) {\n node.classList.add('widget');\n node.__list_widget__ = [];\n }\n\n node.__list_widget__.push(instance);\n return instance;\n}\n\n/**\n * Возвращает уникальную строку\n * @returns {string}\n */\nexport function unique(length=6) {\n return Math.random().toString(36).substr(2, length);\n}\n\n\n/**\n * Преобразование байт\n * @param bytes\n * @returns {*}\n */\nexport function convert_bytes(bytes) {\n var sizes = ['Байт', 'Кб', 'Мб', 'Гб', 'Тб'];\n if (bytes == 0) return '0 Byte';\n var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)));\n return Math.round(bytes / Math.pow(1024, i), 2) + ' ' + sizes[i];\n}\n\n\n/**\n * Получение из строки даты, даты в дургом формате\n * @param date_string\n * @param options_name\n * @returns {string}\n */\nexport function convert_date(date_string, options_name='default') {\n if (!isNaN(date_string)) {\n date_string = date_string * 1000;\n }\n var date = new Date(date_string);\n return date.toLocaleDateString(config.lang.toString(), config.convert_date_options[options_name]).replace(/[^a-zA-Z0-9а-яА-Я .:\\-/]/g, '');\n}\n\n\n/**\n * Получение из строки даты времени\n * @param date_string\n * @param options_name\n * @returns {string}\n */\nexport function convert_time(date_string, options_name='default') {\n if (!isNaN(date_string)) {\n date_string = date_string * 1000;\n }\n return new Date(date_string).toLocaleTimeString(config.lang.toString(), config.convert_time_options[options_name]).replace(/[^a-zA-Z0-9а-яА-Я .:\\-/]/g, '');\n}\n\n/**\n * Получение из числа цены\n * @param number\n * @param options_name\n * @returns {string}\n */\nexport function convert_price(number, options_name='default') {\n return new Intl.NumberFormat(config.lang.toString(), config.convert_price_options[options_name]).format(number);\n}\n\n\n/**\n * Конвертирование числа в строку вида hh:mm:ss,\n * если числа не хватает до часа или минуты будет строка вида mm:ss или ss\n * @param seconds\n * @returns {string}\n */\nexport function convert_second(seconds, chunks=1) {\n let str_pad_left = (string, pad, length) => {\n return (new Array(length + 1).join(pad) + string).slice(-length);\n };\n\n let hour = Math.floor(seconds / 3600);\n let minutes = Math.floor((seconds - (hour * 3600))/60);\n seconds = seconds - (hour * 3600) - (minutes * 60);\n let result = [];\n\n if (hour || chunks > 2) {\n result.push( str_pad_left(hour, '0',2) );\n }\n\n if (minutes || chunks > 1) {\n result.push( str_pad_left(minutes, '0',2) );\n }\n\n if (!isNaN(seconds)) {\n result.push( str_pad_left(seconds, '0',2) );\n }\n\n return result.join(':');\n}\n\n/**\n * Склонение числительных\n * @param number\n * @param words = []\n */\nexport function plural_form(number, words=[]) {\n let cases = [2, 0, 1, 1, 1, 2];\n number = Math.abs(number);\n return words[ (number%100>4 && number%100<20)? 2 : cases[(number%10<5)?number%10:5] ];\n}\n\n\n/**\n * Подготовка контента, инициализация виджетов\n * @param parent\n */\nexport function prepare_content(parent) {\n parent = parent || document;\n\n each(config.widgets, widget => {\n if (widget) {\n widget.apply({}, [parent]);\n }\n });\n}\n\n\n/**\n * Удалить обертку у элемента\n * @param element\n */\nexport function unwrap(element) {\n each(element.childNodes, child => {\n element.parentNode.insertBefore(child, element);\n });\n element.parentNode.removeChild(element);\n}\n\n\n/**\n * Замена ссылок в строке на теги\n * @param text\n * @returns {*}\n */\nexport function urlify(text) {\n let urlRegex = /(\\b((https?|ftp|file):\\/\\/|www)[-A-Z0-9+&@#\\/%?=~_|!:,.;]*[-A-Z0-9+&@#\\/%=~_|])/ig;\n return text.replace(urlRegex, function(url,b,c) {\n let url2 = (c == 'www') ? 'http://' +url : url;\n return '' + url + '';\n })\n}\n\n\n/**\n * Очистка от нежелательныъ тегов\n * @param parent_node\n */\nexport function clear_string(parent_node, allowed=[]) {\n each(parent_node.children, item => {\n clear_string(item, allowed);\n\n if (allowed.indexOf(item.tagName) < 0) {\n unwrap(item);\n } else {\n each(item.attributes, attr => {\n item.removeAttributeNode(attr);\n });\n }\n });\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/helpers.js","export default function xhr(method, url, data, callback, error) {\n let xhr = new XMLHttpRequest();\n let path = url;\n let formData = null;\n\n method = method.toUpperCase();\n\n if (data instanceof FormData) {\n formData = data;\n } else if(data) {\n formData = new FormData();\n\n Object.keys(data).forEach(function (key) {\n formData.append(key, data[key]);\n });\n }\n\n if (method == 'GET' && formData) {\n let params = [];\n formData.forEach(function(value, key){\n params.push(key + '=' + encodeURIComponent(value));\n });\n\n formData = null;\n\n if (params.length) {\n path += '?' + params.join('&');\n }\n }\n\n xhr.open(method, path, true);\n xhr.send(formData);\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState != 4) return;\n\n if (xhr.status == 200) {\n if (callback) {\n callback(xhr.responseText, xhr);\n }\n } else {\n if (error) {\n error(xhr.responseText, xhr);\n }\n }\n };\n\n return xhr;\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/functions/xhr.js","let config = {\n// lang: navigator.languages ? navigator.languages[0] : navigator.language,\n lang: 'RU-ru',\n\n // TODO https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString\n convert_date_options: {\n\n // 1 августа 1999 г.\n 'default': {\n day: 'numeric',\n month: 'long',\n year: 'numeric',\n timeZone: 'UTC'\n },\n\n // 01.11.1999\n 'numbers': {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n timeZone: 'UTC'\n },\n\n // 1999\n 'year': {\n year: 'numeric',\n timeZone: 'UTC'\n },\n\n // август\n 'month': {\n month: 'long',\n timeZone: 'UTC'\n },\n\n // 1\n 'day': {\n day: 'numeric',\n timeZone: 'UTC'\n }\n },\n\n convert_time_options: {\n\n // 00:00\n 'default': {\n hour: '2-digit',\n minute: '2-digit',\n timeZone: 'UTC'\n },\n\n // hour\n 'hour': {\n hour: 'numeric',\n timeZone: 'UTC'\n },\n\n // minute\n 'minute': {\n minute: 'numeric',\n timeZone: 'UTC'\n }\n },\n\n convert_price_options: {\n\n // 123 456,79 руб\n 'default': {\n style: 'currency',\n currency: 'RUB'\n }\n\n },\n\n widgets: []\n};\n\n\n/**\n * Получить весь конфиг\n */\nexport default config;\n\n\n/**\n * Изменение конфига\n * @param config_name\n * @param options\n */\nexport function change_config(config_name, options) {\n try {\n config[config_name] = Object.assign(config[config_name], options);\n } catch (error) {\n config[config_name] = options;\n }\n}\n\n\n/**\n * Получение конфига по названию\n * @param config_name\n * @returns {*}\n */\nexport function get_config(config_name) {\n return config[config_name];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/config.js","if (![].includes) {\n Array.prototype.includes = function (searchElement/*, fromIndex*/) {\n 'use strict';\n var O = Object(this);\n var len = parseInt(O.length) || 0;\n if (len === 0) {\n return false;\n }\n var n = parseInt(arguments[1]) || 0;\n var k;\n if (n >= 0) {\n k = n;\n } else {\n k = len + n;\n if (k < 0) {\n k = 0;\n }\n }\n while (k < len) {\n var currentElement = O[k];\n if (searchElement === currentElement ||\n (searchElement !== searchElement && currentElement !== currentElement)\n ) {\n return true;\n }\n k++;\n }\n return false;\n };\n}\n\n\nif (!String.prototype.includes) {\n String.prototype.includes = function () {\n 'use strict';\n return String.prototype.indexOf.apply(this, arguments) !== -1;\n };\n}\n\nif (self.document && !(\"insertAdjacentHTML\" in document.createElementNS(\"http://www.w3.org/1999/xhtml\", \"_\"))) {\n\n HTMLElement.prototype.insertAdjacentHTML = function (position, html) {\n \"use strict\";\n\n var\n ref = this\n , container = ref.ownerDocument.createElementNS(\"http://www.w3.org/1999/xhtml\", \"_\")\n , ref_parent = ref.parentNode\n , node, first_child, next_sibling\n ;\n\n container.innerHTML = html;\n\n switch (position.toLowerCase()) {\n case \"beforebegin\":\n while ((node = container.firstChild)) {\n ref_parent.insertBefore(node, ref);\n }\n break;\n case \"afterbegin\":\n first_child = ref.firstChild;\n while ((node = container.lastChild)) {\n first_child = ref.insertBefore(node, first_child);\n }\n break;\n case \"beforeend\":\n while ((node = container.firstChild)) {\n ref.appendChild(node);\n }\n break;\n case \"afterend\":\n next_sibling = ref.nextSibling;\n while ((node = container.lastChild)) {\n next_sibling = ref_parent.insertBefore(node, next_sibling);\n }\n break;\n }\n };\n\n}\n\nif (self.document && !(\"insertAdjacentElement\" in document.createElementNS(\"http://www.w3.org/1999/xhtml\", \"_\"))) {\n\n HTMLElement.prototype.insertAdjacentElement = function (position, elem) {\n \"use strict\";\n\n let _this = this,\n parent = _this.parentNode,\n node, first, next;\n\n switch (position.toLowerCase()) {\n case 'beforebegin':\n while ((node = elem.firstChild)) {\n parent.insertBefore(node, _this);\n }\n break;\n case 'afterbegin':\n first = _this.firstChild;\n while ((node = elem.lastChild)) {\n first = _this.insertBefore(node, first);\n }\n break;\n case 'beforeend':\n while ((node = elem.firstChild)) {\n _this.appendChild(node);\n }\n break;\n case 'afterend':\n parent.insertBefore(elem, _this.nextSibling);\n break;\n }\n return elem;\n\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/polyfill.js","import {validator_list} from 'blocko/form-validate'\nimport {each} from 'blocko/helpers'\nimport {validate_inn_12, validate_inn_10, validate_kpp, validate_ogrn, validate_ogrnip} from 'common.web/functions/advanced_validations'\n\nvalidator_list({\n\n num_date: {\n test: function(value) {\n if (value) {\n if (/^([0-9]{2}).([0-9]{2}).((19|20)\\d{2})$/.test(value)) {\n let date_list = value.split('.');\n let date_object = new Date(date_list[2] + '/' + date_list[1] + '/' + date_list[0]);\n\n return (\n date_list[2] === date_object.getFullYear().toString() &&\n date_list[1] === ('0' + (date_object.getMonth() + 1)).slice(-2) &&\n date_list[0] === ('0' + date_object.getDate()).slice(-2)\n );\n }\n return false;\n } else {\n return true;\n }\n },\n message: 'Проверка на дату'\n },\n\n passport_series: {\n test: function (value, field) {\n if (value) {\n return value.length === 4;\n } else {\n return true;\n }\n },\n message: 'Неверный формат данных серии паспорта'\n },\n\n passport_num: {\n test: function (value, field) {\n if (value) {\n return value.length === 6;\n } else {\n return true;\n }\n },\n message: 'Неверный формат данных номера паспорта'\n },\n\n inn: {\n test: function (value, field) {\n if (value) {\n if (!Number(value)) {\n return false;\n }\n return validate_inn_12(value);\n }\n return true;\n },\n message: 'Введено неправильное значение ИНН'\n },\n\n inn_ul: {\n test: function (value, field) {\n if (value) {\n if (!Number(value)) {\n return false;\n }\n return validate_inn_10(value);\n }\n return true;\n },\n message: 'Введено неправильное значение ИНН'\n },\n\n snils: {\n test: function (value, field) {\n if (value) {\n return value.length === 11;\n } else {\n return true;\n }\n },\n message: 'Неверный формат данных СНИЛС'\n },\n\n ogrn: {\n test: function (value, field) {\n if (value) {\n if (!Number(value)) {\n return false;\n }\n return validate_ogrn(value);\n }\n return true;\n },\n message: 'Введено неправильное значение ОГРН'\n },\n\n ogrnip: {\n test: function (value, field) {\n if (value) {\n if (!Number(value)) {\n return false;\n }\n return validate_ogrnip(value);\n }\n return true;\n },\n message: 'Введено неправильное значение ОГРНИП'\n },\n\n kpp: {\n test: function (value, field) {\n if (value) {\n return validate_kpp(value);\n }\n return true;\n },\n message: 'Введено неправильное значение КПП'\n },\n\n bic: {\n test: function (value, field) {\n if (value) {\n if (!Number(value)) {\n return false;\n }\n return value.length === 9;\n } else {\n return true;\n }\n },\n message: 'Введено неправильное значение БИК'\n },\n\n bic_foreign: {\n test: function (value, field) {\n if (value) {\n return (/^\\w{11}$/).test(value);\n } else {\n return true;\n }\n },\n message: 'Введено неправильное значение БИК'\n },\n\n account: {\n test: function (value, field) {\n if (value) {\n if (!Number(value)) {\n return false;\n }\n return value.length === 20;\n } else {\n return true;\n }\n },\n message: 'Введено неправильное значение Расчетный счет'\n },\n\n core_account: {\n test: function (value, field) {\n if (value) {\n if (!Number(value)) {\n return false;\n }\n return value.length === 20;\n } else {\n return true;\n }\n },\n message: 'Введено неправильное значение Корсчет'\n },\n\n bank_inn: {\n test: function (value, field) {\n if (value) {\n return value.length === 10;\n } else {\n return true;\n }\n },\n message: 'Введено неправильное значение ИНН'\n },\n\n bank_kpp: {\n test: function (value, field) {\n if (value) {\n return value.length === 9;\n } else {\n return true;\n }\n },\n message: 'Введено неправильное значение КПП'\n },\n\n\n account_foreign: {\n test: function (value, field) {\n if (value) {\n return (/^\\w+$/).test(value);\n } else {\n return true;\n }\n },\n message: 'Введено неправильное значение Расчетный счет'\n },\n\n card_num: {\n test: function (value, field) {\n if (value) {\n return value.length === 16;\n } else {\n return true;\n }\n },\n message: 'Неверный формат данных Номер карты'\n },\n\n email_exist: {\n test: function (value, field) {\n if (value) {\n return false;\n }\n },\n message: 'Пользователь уже заведен в системе'\n },\n\n duration: {\n test: function (value, field) {\n if (value) {\n let duration_list = value.split(':');\n let res = true;\n\n each(duration_list, item => {\n if (item.length !== 2 || isNaN(item)) {\n res = false;\n }\n });\n return res;\n } else {\n return true;\n }\n },\n message: 'Неверный формат данных хронометража'\n },\n\n numbers_float: {\n test: function (value, field) {\n if (value) {\n if (!isNaN(value)) {\n return value % 1 === 0 || value % 1 !== 0;\n }\n } else {\n return true;\n }\n },\n message: 'Принимается либо целое либо дробное значение'\n },\n\n period: {\n test: function (value, field) {\n if (value) {\n return false;\n }\n },\n message: 'Неверный формат периода'\n },\n\n year: {\n test: function (value, field) {\n if (value) {\n return value.length === 4;\n } else {\n return true;\n }\n },\n message: 'Неверный формат данных \"год\"'\n },\n\n mask: {\n test: function (value, field) {\n if (value) {\n let mask_len = field.getAttribute('data-mask').length;\n return value.replace(/_/g, '').length == mask_len;\n } else {\n return true;\n }\n },\n message: 'Неверный формат'\n }\n});\n\n\n// WEBPACK FOOTER //\n// ./source/validate.js","import {each, convert_date} from './helpers'\n\n\nlet validators = {};\nlet messages = {};\n\n\n/**\n * Базовые валидаторы\n */\nvalidator_list({\n /**\n * Проверка на пустоту\n */\n empty: {\n test: function(value) {\n return value.trim().length\n },\n message: 'Поле не должно быть пустым'\n },\n\n\n /**\n * Проверка на число\n */\n numeric: {\n test: /^[ 0-9]+$/,\n message: 'Значение поля должно быть числом'\n },\n\n\n /**\n * Проверка почты\n */\n email: {\n test: /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n message: 'Введите пожалуйста корректный email'\n },\n\n\n /**\n * Проверка на телефон\n */\n phone: {\n test: /^(\\([0-9]{3}\\)|[0-9]{3}-)[0-9]{3}-[0-9]{4}$/,\n message: 'Введите пожалуйста корректный телефон'\n },\n\n\n /**\n * Проверка даты на соответствие маске 01.10.1999\n */\n numbers_date: {\n test: function(value) {\n if (value) {\n if (/^([0-9]{2}).([0-9]{2}).([0-9]{4})$/.test(value)) {\n let x = value.split('.').reverse().join('-');\n\n if (isNaN(new Date(x).getMonth())) {\n return false;\n }\n return true;\n }\n return false\n }\n return true\n },\n message: 'Проверка на дату'\n },\n\n /**\n * Проверка на checked\n */\n checked: {\n test: function (value, input) {\n return input.checked;\n },\n message: 'Обязательное для заполнения поле'\n }\n});\n\n\n\n/**\n * Установка валидатора\n * @param validator_name\n * @param validator\n */\nexport function set_validator(validator_name, validator) {\n if (validator instanceof RegExp) {\n validators[validator_name] = function (value) {\n if (value.length) {\n return validator.test(value);\n }\n return true;\n }\n } else if (validator instanceof Function) {\n validators[validator_name] = validator;\n }\n}\n\n\n/**\n * Установка списка валидаторов\n * @param validator_list\n */\nexport function validator_list(validator_list={}) {\n each(Object.keys(validator_list), key => {\n let item = validator_list[key];\n\n set_validator(key, item.test);\n set_error_message(key, item.message);\n });\n}\n\n\n/**\n * Получение валидатора\n * @param validator_name\n * @returns {*}\n */\nexport function get_validator(validator_name) {\n return validators[validator_name];\n}\n\n\n/**\n * Получение сообщения об ошибке\n * @param validator\n * @returns {*}\n */\nexport function get_error_message(validator) {\n return messages[validator];\n}\n\n\n/**\n * Установка сообщение об ошибке\n * @param validator\n * @param message\n */\nexport function set_error_message(validator, message) {\n messages[validator] = message || '';\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/form-validate.js","/**\n * Валидация ИНН Физ. лица и ИП\n * @param value\n * @returns {boolean}\n */\nexport function validate_inn_12(value) {\n if (value.match(/\\D/)) {\n return false;\n }\n\n if (value.length !== 12) {\n return false;\n }\n\n if (value.length === 12) {\n let dgt11 = ((7 * value[0] + 2 * value[1] + 4 * value[2] + 10 * value[3] + 3 * value[4] + 5 * value[5] +\n 9 * value[6] + 4 * value[7] + 6 * value[8] + 8 * value[9]) % 11) % 10;\n let dgt12 = ((3 * value[0] + 7 * value[1] + 2 * value[2] + 4 * value[3] + 10 * value[4] + 3 * value[5] +\n 5 * value[6] + 9 * value[7] + 4 * value[8] + 6 * value[9] + 8 * value[10]) % 11) % 10;\n\n return value[10] == dgt11 && value[11] == dgt12;\n }\n}\n\n\n/**\n * Валидация ИНН Юр. лица\n * @param value\n * @returns {boolean}\n */\nexport function validate_inn_10(value) {\n if (value.match(/\\D/)) {\n return false;\n }\n\n if (value.length !== 10) {\n return false;\n }\n\n if (value.length === 10) {\n let dgt10 = ((2 * value[0] + 4 * value[1] + 10 * value[2] + 3 * value[3] + 5 * value[4] + 9 * value[5] +\n 4 * value[6] + 6 * value[7] + 8 * value[8]) % 11) % 10;\n\n return value[9] == dgt10;\n }\n}\n\n\n/**\n * Валидация КПП\n * @param value\n * @returns {boolean}\n */\nexport function validate_kpp(value) {\n if (value.length !== 9) {\n return false;\n }\n\n return value.match(/\\d{4}[\\dA-Z][\\dA-Z]\\d{3}/);\n}\n\n\n/**\n * Валидация ОГРНИП\n * @param value\n * @returns {boolean}\n */\nexport function validate_ogrnip(value) {\n if (value.match(/\\D/)) {\n return false;\n }\n\n if (value.length !== 15) {\n return false;\n }\n\n if (value.length === 15) {\n let num14 = value;\n let dgt15;\n\n num14 = Math.floor((num14 / 10) % 13);\n dgt15 = num14 % 10;\n\n return value[14] == dgt15;\n }\n}\n\n\n/**\n * Валидация ОГРН\n * @param value\n * @returns {boolean}\n */\nexport function validate_ogrn(value) {\n if (value.match(/\\D/)) {\n return false;\n }\n\n if (value.length !== 13) {\n return false;\n }\n\n if (value.length === 13) {\n let dgt13;\n let num12 = value;\n\n num12 = Math.floor((num12 / 10) % 11);\n\n if (num12 === 10) {\n dgt13 = 0;\n } else {\n dgt13 = num12;\n }\n\n return value[12] == dgt13;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/functions/advanced_validations.js","import template from 'common.web/layouts/l-auth/l-auth.html'\n\nimport Controller from '../controller'\nimport Router from 'blocko/router'\nimport {post, parse_json} from 'blocko/helpers'\n\nclass Auth extends Controller {\n\n static get route() {\n return '/auth/';\n }\n\n constructor() {\n super();\n super.add('menu', false);\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n form: document.querySelector('form'),\n error: document.querySelector('.l-auth__error'),\n loader: document.querySelector('.l-auth__loader'),\n submit: document.querySelector('.l-auth__submit')\n };\n\n this.loader_timer = 0;\n\n this._bind();\n }\n\n\n _bind() {\n /**\n * Очищаем общую ошибку формы\n */\n this.dom.form.addEventListener('input', event => {\n this.dom.error.classList.remove('hidden');\n this.dom.error.innerHTML = '';\n });\n\n\n /**\n * Отправка формы авторизации\n */\n this.dom.form.addEventListener('submit', event => {\n event.preventDefault();\n\n\n /**\n * Показываем с задержкой, что бы не прыгали блоки\n * @type {int|number}\n */\n this.loader_timer = setTimeout(function(){\n this.dom.submit.classList.add('hidden');\n this.dom.loader.classList.remove('hidden');\n }.bind(this), 300);\n\n post('/x/id/get_rsid', {}, response => {\n this._change_rsid(response);\n });\n });\n }\n\n\n /**\n * Атворизация\n * @private\n */\n _change_rsid() {\n post('/x/id/a', new FormData(this.dom.form), response => {\n response = parse_json(response);\n\n clearTimeout(this.loader_timer);\n this.dom.submit.classList.remove('hidden');\n this.dom.loader.classList.add('hidden');\n\n if (response.success) {\n this._get_user();\n } else {\n this.dom.error.classList.remove('hidden');\n this.dom.error.innerHTML = response.errmess;\n }\n });\n }\n\n _get_user() {\n post('/api/red/user/get', {}, response => {\n response = parse_json(response);\n\n if (response.success) {\n if (Router.has_url('Auth')) {\n this.url_for('Home');\n }\n } else if (response.errcode == 401) {\n this.dom.error.classList.remove('hidden');\n this.dom.error.innerHTML = 'Данный e-mail не зарегистрирован в системе';\n }\n });\n }\n}\n\nRouter.add_page(Auth);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/auth.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"../../blocks/b-layout/b-layout.html\"] = require( \"../../blocks/b-layout/b-layout.html\" );\ndependencies[\"../../blocks/b-loader/b-loader.html\"] = require( \"../../blocks/b-loader/b-loader.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/common.web/layouts/l-auth/l-auth.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"../../blocks/b-layout/b-layout.html\", true, \"../../node_modules/common.web/layouts/l-auth/l-auth.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n\\n
\\n
Вход в систему
\\n
\\n
\\n
\\n
E-mail
\\n \\n
\\n
\\n
Пароль
\\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n \";\nenv.getTemplate(\"../../blocks/b-loader/b-loader.html\", false, \"../../node_modules/common.web/layouts/l-auth/l-auth.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n \\n
\\n
\\n\\n \\n \\n \\n
\\n
\\n\\n
\\n\";\ncb(null, output);\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/common.web/layouts/l-auth/l-auth.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/layouts/l-auth/l-auth.html","/*! Browser bundle of nunjucks 2.5.2 (slim, only works with precompiled templates) */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"nunjucks\"] = factory();\n\telse\n\t\troot[\"nunjucks\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar lib = __webpack_require__(1);\n\tvar env = __webpack_require__(2);\n\tvar Loader = __webpack_require__(11);\n\tvar loaders = __webpack_require__(3);\n\tvar precompile = __webpack_require__(3);\n\n\tmodule.exports = {};\n\tmodule.exports.Environment = env.Environment;\n\tmodule.exports.Template = env.Template;\n\n\tmodule.exports.Loader = Loader;\n\tmodule.exports.FileSystemLoader = loaders.FileSystemLoader;\n\tmodule.exports.PrecompiledLoader = loaders.PrecompiledLoader;\n\tmodule.exports.WebLoader = loaders.WebLoader;\n\n\tmodule.exports.compiler = __webpack_require__(3);\n\tmodule.exports.parser = __webpack_require__(3);\n\tmodule.exports.lexer = __webpack_require__(3);\n\tmodule.exports.runtime = __webpack_require__(8);\n\tmodule.exports.lib = lib;\n\tmodule.exports.nodes = __webpack_require__(3);\n\n\tmodule.exports.installJinjaCompat = __webpack_require__(12);\n\n\t// A single instance of an environment, since this is so commonly used\n\n\tvar e;\n\tmodule.exports.configure = function(templatesPath, opts) {\n\t opts = opts || {};\n\t if(lib.isObject(templatesPath)) {\n\t opts = templatesPath;\n\t templatesPath = null;\n\t }\n\n\t var TemplateLoader;\n\t if(loaders.FileSystemLoader) {\n\t TemplateLoader = new loaders.FileSystemLoader(templatesPath, {\n\t watch: opts.watch,\n\t noCache: opts.noCache\n\t });\n\t }\n\t else if(loaders.WebLoader) {\n\t TemplateLoader = new loaders.WebLoader(templatesPath, {\n\t useCache: opts.web && opts.web.useCache,\n\t async: opts.web && opts.web.async\n\t });\n\t }\n\n\t e = new env.Environment(TemplateLoader, opts);\n\n\t if(opts && opts.express) {\n\t e.express(opts.express);\n\t }\n\n\t return e;\n\t};\n\n\tmodule.exports.compile = function(src, env, path, eagerCompile) {\n\t if(!e) {\n\t module.exports.configure();\n\t }\n\t return new module.exports.Template(src, env, path, eagerCompile);\n\t};\n\n\tmodule.exports.render = function(name, ctx, cb) {\n\t if(!e) {\n\t module.exports.configure();\n\t }\n\n\t return e.render(name, ctx, cb);\n\t};\n\n\tmodule.exports.renderString = function(src, ctx, cb) {\n\t if(!e) {\n\t module.exports.configure();\n\t }\n\n\t return e.renderString(src, ctx, cb);\n\t};\n\n\tif(precompile) {\n\t module.exports.precompile = precompile.precompile;\n\t module.exports.precompileString = precompile.precompileString;\n\t}\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\n\tvar ArrayProto = Array.prototype;\n\tvar ObjProto = Object.prototype;\n\n\tvar escapeMap = {\n\t '&': '&',\n\t '\"': '"',\n\t '\\'': ''',\n\t '<': '<',\n\t '>': '>'\n\t};\n\n\tvar escapeRegex = /[&\"'<>]/g;\n\n\tvar lookupEscape = function(ch) {\n\t return escapeMap[ch];\n\t};\n\n\tvar exports = module.exports = {};\n\n\texports.prettifyError = function(path, withInternals, err) {\n\t // jshint -W022\n\t // http://jslinterrors.com/do-not-assign-to-the-exception-parameter\n\t if (!err.Update) {\n\t // not one of ours, cast it\n\t err = new exports.TemplateError(err);\n\t }\n\t err.Update(path);\n\n\t // Unless they marked the dev flag, show them a trace from here\n\t if (!withInternals) {\n\t var old = err;\n\t err = new Error(old.message);\n\t err.name = old.name;\n\t }\n\n\t return err;\n\t};\n\n\texports.TemplateError = function(message, lineno, colno) {\n\t var err = this;\n\n\t if (message instanceof Error) { // for casting regular js errors\n\t err = message;\n\t message = message.name + ': ' + message.message;\n\n\t try {\n\t if(err.name = '') {}\n\t }\n\t catch(e) {\n\t // If we can't set the name of the error object in this\n\t // environment, don't use it\n\t err = this;\n\t }\n\t } else {\n\t if(Error.captureStackTrace) {\n\t Error.captureStackTrace(err);\n\t }\n\t }\n\n\t err.name = 'Template render error';\n\t err.message = message;\n\t err.lineno = lineno;\n\t err.colno = colno;\n\t err.firstUpdate = true;\n\n\t err.Update = function(path) {\n\t var message = '(' + (path || 'unknown path') + ')';\n\n\t // only show lineno + colno next to path of template\n\t // where error occurred\n\t if (this.firstUpdate) {\n\t if(this.lineno && this.colno) {\n\t message += ' [Line ' + this.lineno + ', Column ' + this.colno + ']';\n\t }\n\t else if(this.lineno) {\n\t message += ' [Line ' + this.lineno + ']';\n\t }\n\t }\n\n\t message += '\\n ';\n\t if (this.firstUpdate) {\n\t message += ' ';\n\t }\n\n\t this.message = message + (this.message || '');\n\t this.firstUpdate = false;\n\t return this;\n\t };\n\n\t return err;\n\t};\n\n\texports.TemplateError.prototype = Error.prototype;\n\n\texports.escape = function(val) {\n\t return val.replace(escapeRegex, lookupEscape);\n\t};\n\n\texports.isFunction = function(obj) {\n\t return ObjProto.toString.call(obj) === '[object Function]';\n\t};\n\n\texports.isArray = Array.isArray || function(obj) {\n\t return ObjProto.toString.call(obj) === '[object Array]';\n\t};\n\n\texports.isString = function(obj) {\n\t return ObjProto.toString.call(obj) === '[object String]';\n\t};\n\n\texports.isObject = function(obj) {\n\t return ObjProto.toString.call(obj) === '[object Object]';\n\t};\n\n\texports.groupBy = function(obj, val) {\n\t var result = {};\n\t var iterator = exports.isFunction(val) ? val : function(obj) { return obj[val]; };\n\t for(var i=0; i>> 0; // Hack to convert object.length to a UInt32\n\n\t fromIndex = +fromIndex || 0;\n\n\t if(Math.abs(fromIndex) === Infinity) {\n\t fromIndex = 0;\n\t }\n\n\t if(fromIndex < 0) {\n\t fromIndex += length;\n\t if (fromIndex < 0) {\n\t fromIndex = 0;\n\t }\n\t }\n\n\t for(;fromIndex < length; fromIndex++) {\n\t if (arr[fromIndex] === searchElement) {\n\t return fromIndex;\n\t }\n\t }\n\n\t return -1;\n\t };\n\n\tif(!Array.prototype.map) {\n\t Array.prototype.map = function() {\n\t throw new Error('map is unimplemented for this js engine');\n\t };\n\t}\n\n\texports.keys = function(obj) {\n\t if(Object.prototype.keys) {\n\t return obj.keys();\n\t }\n\t else {\n\t var keys = [];\n\t for(var k in obj) {\n\t if(obj.hasOwnProperty(k)) {\n\t keys.push(k);\n\t }\n\t }\n\t return keys;\n\t }\n\t};\n\n\texports.inOperator = function (key, val) {\n\t if (exports.isArray(val)) {\n\t return exports.indexOf(val, key) !== -1;\n\t } else if (exports.isObject(val)) {\n\t return key in val;\n\t } else if (exports.isString(val)) {\n\t return val.indexOf(key) !== -1;\n\t } else {\n\t throw new Error('Cannot use \"in\" operator to search for \"'\n\t + key + '\" in unexpected types.');\n\t }\n\t};\n\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar path = __webpack_require__(3);\n\tvar asap = __webpack_require__(4);\n\tvar lib = __webpack_require__(1);\n\tvar Obj = __webpack_require__(6);\n\tvar compiler = __webpack_require__(3);\n\tvar builtin_filters = __webpack_require__(7);\n\tvar builtin_loaders = __webpack_require__(3);\n\tvar runtime = __webpack_require__(8);\n\tvar globals = __webpack_require__(9);\n\tvar Frame = runtime.Frame;\n\tvar Template;\n\n\t// Unconditionally load in this loader, even if no other ones are\n\t// included (possible in the slim browser build)\n\tbuiltin_loaders.PrecompiledLoader = __webpack_require__(10);\n\n\t// If the user is using the async API, *always* call it\n\t// asynchronously even if the template was synchronous.\n\tfunction callbackAsap(cb, err, res) {\n\t asap(function() { cb(err, res); });\n\t}\n\n\tvar Environment = Obj.extend({\n\t init: function(loaders, opts) {\n\t // The dev flag determines the trace that'll be shown on errors.\n\t // If set to true, returns the full trace from the error point,\n\t // otherwise will return trace starting from Template.render\n\t // (the full trace from within nunjucks may confuse developers using\n\t // the library)\n\t // defaults to false\n\t opts = this.opts = opts || {};\n\t this.opts.dev = !!opts.dev;\n\n\t // The autoescape flag sets global autoescaping. If true,\n\t // every string variable will be escaped by default.\n\t // If false, strings can be manually escaped using the `escape` filter.\n\t // defaults to true\n\t this.opts.autoescape = opts.autoescape != null ? opts.autoescape : true;\n\n\t // If true, this will make the system throw errors if trying\n\t // to output a null or undefined value\n\t this.opts.throwOnUndefined = !!opts.throwOnUndefined;\n\t this.opts.trimBlocks = !!opts.trimBlocks;\n\t this.opts.lstripBlocks = !!opts.lstripBlocks;\n\n\t this.loaders = [];\n\n\t if(!loaders) {\n\t // The filesystem loader is only available server-side\n\t if(builtin_loaders.FileSystemLoader) {\n\t this.loaders = [new builtin_loaders.FileSystemLoader('views')];\n\t }\n\t else if(builtin_loaders.WebLoader) {\n\t this.loaders = [new builtin_loaders.WebLoader('/views')];\n\t }\n\t }\n\t else {\n\t this.loaders = lib.isArray(loaders) ? loaders : [loaders];\n\t }\n\n\t // It's easy to use precompiled templates: just include them\n\t // before you configure nunjucks and this will automatically\n\t // pick it up and use it\n\t if((true) && window.nunjucksPrecompiled) {\n\t this.loaders.unshift(\n\t new builtin_loaders.PrecompiledLoader(window.nunjucksPrecompiled)\n\t );\n\t }\n\n\t this.initCache();\n\n\t this.globals = globals();\n\t this.filters = {};\n\t this.asyncFilters = [];\n\t this.extensions = {};\n\t this.extensionsList = [];\n\n\t for(var name in builtin_filters) {\n\t this.addFilter(name, builtin_filters[name]);\n\t }\n\t },\n\n\t initCache: function() {\n\t // Caching and cache busting\n\t lib.each(this.loaders, function(loader) {\n\t loader.cache = {};\n\n\t if(typeof loader.on === 'function') {\n\t loader.on('update', function(template) {\n\t loader.cache[template] = null;\n\t });\n\t }\n\t });\n\t },\n\n\t addExtension: function(name, extension) {\n\t extension._name = name;\n\t this.extensions[name] = extension;\n\t this.extensionsList.push(extension);\n\t return this;\n\t },\n\n\t removeExtension: function(name) {\n\t var extension = this.getExtension(name);\n\t if (!extension) return;\n\n\t this.extensionsList = lib.without(this.extensionsList, extension);\n\t delete this.extensions[name];\n\t },\n\n\t getExtension: function(name) {\n\t return this.extensions[name];\n\t },\n\n\t hasExtension: function(name) {\n\t return !!this.extensions[name];\n\t },\n\n\t addGlobal: function(name, value) {\n\t this.globals[name] = value;\n\t return this;\n\t },\n\n\t getGlobal: function(name) {\n\t if(typeof this.globals[name] === 'undefined') {\n\t throw new Error('global not found: ' + name);\n\t }\n\t return this.globals[name];\n\t },\n\n\t addFilter: function(name, func, async) {\n\t var wrapped = func;\n\n\t if(async) {\n\t this.asyncFilters.push(name);\n\t }\n\t this.filters[name] = wrapped;\n\t return this;\n\t },\n\n\t getFilter: function(name) {\n\t if(!this.filters[name]) {\n\t throw new Error('filter not found: ' + name);\n\t }\n\t return this.filters[name];\n\t },\n\n\t resolveTemplate: function(loader, parentName, filename) {\n\t var isRelative = (loader.isRelative && parentName)? loader.isRelative(filename) : false;\n\t return (isRelative && loader.resolve)? loader.resolve(parentName, filename) : filename;\n\t },\n\n\t getTemplate: function(name, eagerCompile, parentName, ignoreMissing, cb) {\n\t var that = this;\n\t var tmpl = null;\n\t if(name && name.raw) {\n\t // this fixes autoescape for templates referenced in symbols\n\t name = name.raw;\n\t }\n\n\t if(lib.isFunction(parentName)) {\n\t cb = parentName;\n\t parentName = null;\n\t eagerCompile = eagerCompile || false;\n\t }\n\n\t if(lib.isFunction(eagerCompile)) {\n\t cb = eagerCompile;\n\t eagerCompile = false;\n\t }\n\n\t if (name instanceof Template) {\n\t tmpl = name;\n\t }\n\t else if(typeof name !== 'string') {\n\t throw new Error('template names must be a string: ' + name);\n\t }\n\t else {\n\t for (var i = 0; i < this.loaders.length; i++) {\n\t var _name = this.resolveTemplate(this.loaders[i], parentName, name);\n\t tmpl = this.loaders[i].cache[_name];\n\t if (tmpl) break;\n\t }\n\t }\n\n\t if(tmpl) {\n\t if(eagerCompile) {\n\t tmpl.compile();\n\t }\n\n\t if(cb) {\n\t cb(null, tmpl);\n\t }\n\t else {\n\t return tmpl;\n\t }\n\t } else {\n\t var syncResult;\n\t var _this = this;\n\n\t var createTemplate = function(err, info) {\n\t if(!info && !err) {\n\t if(!ignoreMissing) {\n\t err = new Error('template not found: ' + name);\n\t }\n\t }\n\n\t if (err) {\n\t if(cb) {\n\t cb(err);\n\t }\n\t else {\n\t throw err;\n\t }\n\t }\n\t else {\n\t var tmpl;\n\t if(info) {\n\t tmpl = new Template(info.src, _this,\n\t info.path, eagerCompile);\n\n\t if(!info.noCache) {\n\t info.loader.cache[name] = tmpl;\n\t }\n\t }\n\t else {\n\t tmpl = new Template('', _this,\n\t '', eagerCompile);\n\t }\n\n\t if(cb) {\n\t cb(null, tmpl);\n\t }\n\t else {\n\t syncResult = tmpl;\n\t }\n\t }\n\t };\n\n\t lib.asyncIter(this.loaders, function(loader, i, next, done) {\n\t function handle(err, src) {\n\t if(err) {\n\t done(err);\n\t }\n\t else if(src) {\n\t src.loader = loader;\n\t done(null, src);\n\t }\n\t else {\n\t next();\n\t }\n\t }\n\n\t // Resolve name relative to parentName\n\t name = that.resolveTemplate(loader, parentName, name);\n\n\t if(loader.async) {\n\t loader.getSource(name, handle);\n\t }\n\t else {\n\t handle(null, loader.getSource(name));\n\t }\n\t }, createTemplate);\n\n\t return syncResult;\n\t }\n\t },\n\n\t express: function(app) {\n\t var env = this;\n\n\t function NunjucksView(name, opts) {\n\t this.name = name;\n\t this.path = name;\n\t this.defaultEngine = opts.defaultEngine;\n\t this.ext = path.extname(name);\n\t if (!this.ext && !this.defaultEngine) throw new Error('No default engine was specified and no extension was provided.');\n\t if (!this.ext) this.name += (this.ext = ('.' !== this.defaultEngine[0] ? '.' : '') + this.defaultEngine);\n\t }\n\n\t NunjucksView.prototype.render = function(opts, cb) {\n\t env.render(this.name, opts, cb);\n\t };\n\n\t app.set('view', NunjucksView);\n\t app.set('nunjucksEnv', this);\n\t return this;\n\t },\n\n\t render: function(name, ctx, cb) {\n\t if(lib.isFunction(ctx)) {\n\t cb = ctx;\n\t ctx = null;\n\t }\n\n\t // We support a synchronous API to make it easier to migrate\n\t // existing code to async. This works because if you don't do\n\t // anything async work, the whole thing is actually run\n\t // synchronously.\n\t var syncResult = null;\n\n\t this.getTemplate(name, function(err, tmpl) {\n\t if(err && cb) {\n\t callbackAsap(cb, err);\n\t }\n\t else if(err) {\n\t throw err;\n\t }\n\t else {\n\t syncResult = tmpl.render(ctx, cb);\n\t }\n\t });\n\n\t return syncResult;\n\t },\n\n\t renderString: function(src, ctx, opts, cb) {\n\t if(lib.isFunction(opts)) {\n\t cb = opts;\n\t opts = {};\n\t }\n\t opts = opts || {};\n\n\t var tmpl = new Template(src, this, opts.path);\n\t return tmpl.render(ctx, cb);\n\t }\n\t});\n\n\tvar Context = Obj.extend({\n\t init: function(ctx, blocks, env) {\n\t // Has to be tied to an environment so we can tap into its globals.\n\t this.env = env || new Environment();\n\n\t // Make a duplicate of ctx\n\t this.ctx = {};\n\t for(var k in ctx) {\n\t if(ctx.hasOwnProperty(k)) {\n\t this.ctx[k] = ctx[k];\n\t }\n\t }\n\n\t this.blocks = {};\n\t this.exported = [];\n\n\t for(var name in blocks) {\n\t this.addBlock(name, blocks[name]);\n\t }\n\t },\n\n\t lookup: function(name) {\n\t // This is one of the most called functions, so optimize for\n\t // the typical case where the name isn't in the globals\n\t if(name in this.env.globals && !(name in this.ctx)) {\n\t return this.env.globals[name];\n\t }\n\t else {\n\t return this.ctx[name];\n\t }\n\t },\n\n\t setVariable: function(name, val) {\n\t this.ctx[name] = val;\n\t },\n\n\t getVariables: function() {\n\t return this.ctx;\n\t },\n\n\t addBlock: function(name, block) {\n\t this.blocks[name] = this.blocks[name] || [];\n\t this.blocks[name].push(block);\n\t return this;\n\t },\n\n\t getBlock: function(name) {\n\t if(!this.blocks[name]) {\n\t throw new Error('unknown block \"' + name + '\"');\n\t }\n\n\t return this.blocks[name][0];\n\t },\n\n\t getSuper: function(env, name, block, frame, runtime, cb) {\n\t var idx = lib.indexOf(this.blocks[name] || [], block);\n\t var blk = this.blocks[name][idx + 1];\n\t var context = this;\n\n\t if(idx === -1 || !blk) {\n\t throw new Error('no super block available for \"' + name + '\"');\n\t }\n\n\t blk(env, context, frame, runtime, cb);\n\t },\n\n\t addExport: function(name) {\n\t this.exported.push(name);\n\t },\n\n\t getExported: function() {\n\t var exported = {};\n\t for(var i=0; i capacity) {\n\t // Manually shift all values starting at the index back to the\n\t // beginning of the queue.\n\t for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n\t queue[scan] = queue[scan + index];\n\t }\n\t queue.length -= index;\n\t index = 0;\n\t }\n\t }\n\t queue.length = 0;\n\t index = 0;\n\t flushing = false;\n\t}\n\n\t// `requestFlush` is implemented using a strategy based on data collected from\n\t// every available SauceLabs Selenium web driver worker at time of writing.\n\t// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n\t// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n\t// have WebKitMutationObserver but not un-prefixed MutationObserver.\n\t// Must use `global` instead of `window` to work in both frames and web\n\t// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\tvar BrowserMutationObserver = global.MutationObserver || global.WebKitMutationObserver;\n\n\t// MutationObservers are desirable because they have high priority and work\n\t// reliably everywhere they are implemented.\n\t// They are implemented in all modern browsers.\n\t//\n\t// - Android 4-4.3\n\t// - Chrome 26-34\n\t// - Firefox 14-29\n\t// - Internet Explorer 11\n\t// - iPad Safari 6-7.1\n\t// - iPhone Safari 7-7.1\n\t// - Safari 6-7\n\tif (typeof BrowserMutationObserver === \"function\") {\n\t requestFlush = makeRequestCallFromMutationObserver(flush);\n\n\t// MessageChannels are desirable because they give direct access to the HTML\n\t// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n\t// 11-12, and in web workers in many engines.\n\t// Although message channels yield to any queued rendering and IO tasks, they\n\t// would be better than imposing the 4ms delay of timers.\n\t// However, they do not work reliably in Internet Explorer or Safari.\n\n\t// Internet Explorer 10 is the only browser that has setImmediate but does\n\t// not have MutationObservers.\n\t// Although setImmediate yields to the browser's renderer, it would be\n\t// preferrable to falling back to setTimeout since it does not have\n\t// the minimum 4ms penalty.\n\t// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n\t// Desktop to a lesser extent) that renders both setImmediate and\n\t// MessageChannel useless for the purposes of ASAP.\n\t// https://github.com/kriskowal/q/issues/396\n\n\t// Timers are implemented universally.\n\t// We fall back to timers in workers in most engines, and in foreground\n\t// contexts in the following browsers.\n\t// However, note that even this simple case requires nuances to operate in a\n\t// broad spectrum of browsers.\n\t//\n\t// - Firefox 3-13\n\t// - Internet Explorer 6-9\n\t// - iPad Safari 4.3\n\t// - Lynx 2.8.7\n\t} else {\n\t requestFlush = makeRequestCallFromTimer(flush);\n\t}\n\n\t// `requestFlush` requests that the high priority event queue be flushed as\n\t// soon as possible.\n\t// This is useful to prevent an error thrown in a task from stalling the event\n\t// queue if the exception handled by Node.js’s\n\t// `process.on(\"uncaughtException\")` or by a domain.\n\trawAsap.requestFlush = requestFlush;\n\n\t// To request a high priority event, we induce a mutation observer by toggling\n\t// the text of a text node between \"1\" and \"-1\".\n\tfunction makeRequestCallFromMutationObserver(callback) {\n\t var toggle = 1;\n\t var observer = new BrowserMutationObserver(callback);\n\t var node = document.createTextNode(\"\");\n\t observer.observe(node, {characterData: true});\n\t return function requestCall() {\n\t toggle = -toggle;\n\t node.data = toggle;\n\t };\n\t}\n\n\t// The message channel technique was discovered by Malte Ubl and was the\n\t// original foundation for this library.\n\t// http://www.nonblocking.io/2011/06/windownexttick.html\n\n\t// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n\t// page's first load. Thankfully, this version of Safari supports\n\t// MutationObservers, so we don't need to fall back in that case.\n\n\t// function makeRequestCallFromMessageChannel(callback) {\n\t// var channel = new MessageChannel();\n\t// channel.port1.onmessage = callback;\n\t// return function requestCall() {\n\t// channel.port2.postMessage(0);\n\t// };\n\t// }\n\n\t// For reasons explained above, we are also unable to use `setImmediate`\n\t// under any circumstances.\n\t// Even if we were, there is another bug in Internet Explorer 10.\n\t// It is not sufficient to assign `setImmediate` to `requestFlush` because\n\t// `setImmediate` must be called *by name* and therefore must be wrapped in a\n\t// closure.\n\t// Never forget.\n\n\t// function makeRequestCallFromSetImmediate(callback) {\n\t// return function requestCall() {\n\t// setImmediate(callback);\n\t// };\n\t// }\n\n\t// Safari 6.0 has a problem where timers will get lost while the user is\n\t// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n\t// mutation observers, so that implementation is used instead.\n\t// However, if we ever elect to use timers in Safari, the prevalent work-around\n\t// is to add a scroll event listener that calls for a flush.\n\n\t// `setTimeout` does not call the passed callback if the delay is less than\n\t// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n\t// even then.\n\n\tfunction makeRequestCallFromTimer(callback) {\n\t return function requestCall() {\n\t // We dispatch a timeout with a specified delay of 0 for engines that\n\t // can reliably accommodate that request. This will usually be snapped\n\t // to a 4 milisecond delay, but once we're flushing, there's no delay\n\t // between events.\n\t var timeoutHandle = setTimeout(handleTimer, 0);\n\t // However, since this timer gets frequently dropped in Firefox\n\t // workers, we enlist an interval handle that will try to fire\n\t // an event 20 times per second until it succeeds.\n\t var intervalHandle = setInterval(handleTimer, 50);\n\n\t function handleTimer() {\n\t // Whichever timer succeeds will cancel both timers and\n\t // execute the callback.\n\t clearTimeout(timeoutHandle);\n\t clearInterval(intervalHandle);\n\t callback();\n\t }\n\t };\n\t}\n\n\t// This is for `asap.js` only.\n\t// Its name will be periodically randomized to break any code that depends on\n\t// its existence.\n\trawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n\t// ASAP was originally a nextTick shim included in Q. This was factored out\n\t// into this ASAP package. It was later adapted to RSVP which made further\n\t// amendments. These decisions, particularly to marginalize MessageChannel and\n\t// to capture the MutationObserver implementation in a closure, were integrated\n\t// back into ASAP proper.\n\t// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 6 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\n\t// A simple class system, more documentation to come\n\n\tfunction extend(cls, name, props) {\n\t // This does that same thing as Object.create, but with support for IE8\n\t var F = function() {};\n\t F.prototype = cls.prototype;\n\t var prototype = new F();\n\n\t // jshint undef: false\n\t var fnTest = /xyz/.test(function(){ xyz; }) ? /\\bparent\\b/ : /.*/;\n\t props = props || {};\n\n\t for(var k in props) {\n\t var src = props[k];\n\t var parent = prototype[k];\n\n\t if(typeof parent === 'function' &&\n\t typeof src === 'function' &&\n\t fnTest.test(src)) {\n\t /*jshint -W083 */\n\t prototype[k] = (function (src, parent) {\n\t return function() {\n\t // Save the current parent method\n\t var tmp = this.parent;\n\n\t // Set parent to the previous method, call, and restore\n\t this.parent = parent;\n\t var res = src.apply(this, arguments);\n\t this.parent = tmp;\n\n\t return res;\n\t };\n\t })(src, parent);\n\t }\n\t else {\n\t prototype[k] = src;\n\t }\n\t }\n\n\t prototype.typename = name;\n\n\t var new_cls = function() {\n\t if(prototype.init) {\n\t prototype.init.apply(this, arguments);\n\t }\n\t };\n\n\t new_cls.prototype = prototype;\n\t new_cls.prototype.constructor = new_cls;\n\n\t new_cls.extend = function(name, props) {\n\t if(typeof name === 'object') {\n\t props = name;\n\t name = 'anonymous';\n\t }\n\t return extend(new_cls, name, props);\n\t };\n\n\t return new_cls;\n\t}\n\n\tmodule.exports = extend(Object, 'Object', {});\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar lib = __webpack_require__(1);\n\tvar r = __webpack_require__(8);\n\n\tfunction normalize(value, defaultValue) {\n\t if(value === null || value === undefined || value === false) {\n\t return defaultValue;\n\t }\n\t return value;\n\t}\n\n\tvar filters = {\n\t abs: function(n) {\n\t return Math.abs(n);\n\t },\n\n\t batch: function(arr, linecount, fill_with) {\n\t var i;\n\t var res = [];\n\t var tmp = [];\n\n\t for(i = 0; i < arr.length; i++) {\n\t if(i % linecount === 0 && tmp.length) {\n\t res.push(tmp);\n\t tmp = [];\n\t }\n\n\t tmp.push(arr[i]);\n\t }\n\n\t if(tmp.length) {\n\t if(fill_with) {\n\t for(i = tmp.length; i < linecount; i++) {\n\t tmp.push(fill_with);\n\t }\n\t }\n\n\t res.push(tmp);\n\t }\n\n\t return res;\n\t },\n\n\t capitalize: function(str) {\n\t str = normalize(str, '');\n\t var ret = str.toLowerCase();\n\t return r.copySafeness(str, ret.charAt(0).toUpperCase() + ret.slice(1));\n\t },\n\n\t center: function(str, width) {\n\t str = normalize(str, '');\n\t width = width || 80;\n\n\t if(str.length >= width) {\n\t return str;\n\t }\n\n\t var spaces = width - str.length;\n\t var pre = lib.repeat(' ', spaces/2 - spaces % 2);\n\t var post = lib.repeat(' ', spaces/2);\n\t return r.copySafeness(str, pre + str + post);\n\t },\n\n\t 'default': function(val, def, bool) {\n\t if(bool) {\n\t return val ? val : def;\n\t }\n\t else {\n\t return (val !== undefined) ? val : def;\n\t }\n\t },\n\n\t dictsort: function(val, case_sensitive, by) {\n\t if (!lib.isObject(val)) {\n\t throw new lib.TemplateError('dictsort filter: val must be an object');\n\t }\n\n\t var array = [];\n\t for (var k in val) {\n\t // deliberately include properties from the object's prototype\n\t array.push([k,val[k]]);\n\t }\n\n\t var si;\n\t if (by === undefined || by === 'key') {\n\t si = 0;\n\t } else if (by === 'value') {\n\t si = 1;\n\t } else {\n\t throw new lib.TemplateError(\n\t 'dictsort filter: You can only sort by either key or value');\n\t }\n\n\t array.sort(function(t1, t2) {\n\t var a = t1[si];\n\t var b = t2[si];\n\n\t if (!case_sensitive) {\n\t if (lib.isString(a)) {\n\t a = a.toUpperCase();\n\t }\n\t if (lib.isString(b)) {\n\t b = b.toUpperCase();\n\t }\n\t }\n\n\t return a > b ? 1 : (a === b ? 0 : -1);\n\t });\n\n\t return array;\n\t },\n\n\t dump: function(obj) {\n\t return JSON.stringify(obj);\n\t },\n\n\t escape: function(str) {\n\t if(str instanceof r.SafeString) {\n\t return str;\n\t }\n\t str = (str === null || str === undefined) ? '' : str;\n\t return r.markSafe(lib.escape(str.toString()));\n\t },\n\n\t safe: function(str) {\n\t if (str instanceof r.SafeString) {\n\t return str;\n\t }\n\t str = (str === null || str === undefined) ? '' : str;\n\t return r.markSafe(str.toString());\n\t },\n\n\t first: function(arr) {\n\t return arr[0];\n\t },\n\n\t groupby: function(arr, attr) {\n\t return lib.groupBy(arr, attr);\n\t },\n\n\t indent: function(str, width, indentfirst) {\n\t str = normalize(str, '');\n\n\t if (str === '') return '';\n\n\t width = width || 4;\n\t var res = '';\n\t var lines = str.split('\\n');\n\t var sp = lib.repeat(' ', width);\n\n\t for(var i=0; i .a.b.c.\n\t res = new_ + str.split('').join(new_) + new_;\n\t return r.copySafeness(str, res);\n\t }\n\n\t var nextIndex = str.indexOf(old);\n\t // if # of replacements to perform is 0, or the string to does\n\t // not contain the old value, return the string\n\t if(maxCount === 0 || nextIndex === -1){\n\t return str;\n\t }\n\n\t var pos = 0;\n\t var count = 0; // # of replacements made\n\n\t while(nextIndex > -1 && (maxCount === -1 || count < maxCount)){\n\t // Grab the next chunk of src string and add it with the\n\t // replacement, to the result\n\t res += str.substring(pos, nextIndex) + new_;\n\t // Increment our pointer in the src string\n\t pos = nextIndex + old.length;\n\t count++;\n\t // See if there are any more replacements to be made\n\t nextIndex = str.indexOf(old, pos);\n\t }\n\n\t // We've either reached the end, or done the max # of\n\t // replacements, tack on any remaining string\n\t if(pos < str.length) {\n\t res += str.substring(pos);\n\t }\n\n\t return r.copySafeness(originalStr, res);\n\t },\n\n\t reverse: function(val) {\n\t var arr;\n\t if(lib.isString(val)) {\n\t arr = filters.list(val);\n\t }\n\t else {\n\t // Copy it\n\t arr = lib.map(val, function(v) { return v; });\n\t }\n\n\t arr.reverse();\n\n\t if(lib.isString(val)) {\n\t return r.copySafeness(val, arr.join(''));\n\t }\n\t return arr;\n\t },\n\n\t round: function(val, precision, method) {\n\t precision = precision || 0;\n\t var factor = Math.pow(10, precision);\n\t var rounder;\n\n\t if(method === 'ceil') {\n\t rounder = Math.ceil;\n\t }\n\t else if(method === 'floor') {\n\t rounder = Math.floor;\n\t }\n\t else {\n\t rounder = Math.round;\n\t }\n\n\t return rounder(val * factor) / factor;\n\t },\n\n\t slice: function(arr, slices, fillWith) {\n\t var sliceLength = Math.floor(arr.length / slices);\n\t var extra = arr.length % slices;\n\t var offset = 0;\n\t var res = [];\n\n\t for(var i=0; i= extra) {\n\t slice.push(fillWith);\n\t }\n\t res.push(slice);\n\t }\n\n\t return res;\n\t },\n\n\t sum: function(arr, attr, start) {\n\t var sum = 0;\n\n\t if(typeof start === 'number'){\n\t sum += start;\n\t }\n\n\t if(attr) {\n\t arr = lib.map(arr, function(v) {\n\t return v[attr];\n\t });\n\t }\n\n\t for(var i = 0; i < arr.length; i++) {\n\t sum += arr[i];\n\t }\n\n\t return sum;\n\t },\n\n\t sort: r.makeMacro(['value', 'reverse', 'case_sensitive', 'attribute'], [], function(arr, reverse, caseSens, attr) {\n\t // Copy it\n\t arr = lib.map(arr, function(v) { return v; });\n\n\t arr.sort(function(a, b) {\n\t var x, y;\n\n\t if(attr) {\n\t x = a[attr];\n\t y = b[attr];\n\t }\n\t else {\n\t x = a;\n\t y = b;\n\t }\n\n\t if(!caseSens && lib.isString(x) && lib.isString(y)) {\n\t x = x.toLowerCase();\n\t y = y.toLowerCase();\n\t }\n\n\t if(x < y) {\n\t return reverse ? 1 : -1;\n\t }\n\t else if(x > y) {\n\t return reverse ? -1: 1;\n\t }\n\t else {\n\t return 0;\n\t }\n\t });\n\n\t return arr;\n\t }),\n\n\t string: function(obj) {\n\t return r.copySafeness(obj, obj);\n\t },\n\n\t striptags: function(input, preserve_linebreaks) {\n\t input = normalize(input, '');\n\t preserve_linebreaks = preserve_linebreaks || false;\n\t var tags = /<\\/?([a-z][a-z0-9]*)\\b[^>]*>|/gi;\n\t var trimmedInput = filters.trim(input.replace(tags, ''));\n\t var res = '';\n\t if (preserve_linebreaks) {\n\t res = trimmedInput\n\t .replace(/^ +| +$/gm, '') // remove leading and trailing spaces\n\t .replace(/ +/g, ' ') // squash adjacent spaces\n\t .replace(/(\\r\\n)/g, '\\n') // normalize linebreaks (CRLF -> LF)\n\t .replace(/\\n\\n\\n+/g, '\\n\\n'); // squash abnormal adjacent linebreaks\n\t } else {\n\t res = trimmedInput.replace(/\\s+/gi, ' ');\n\t }\n\t return r.copySafeness(input, res);\n\t },\n\n\t title: function(str) {\n\t str = normalize(str, '');\n\t var words = str.split(' ');\n\t for(var i = 0; i < words.length; i++) {\n\t words[i] = filters.capitalize(words[i]);\n\t }\n\t return r.copySafeness(str, words.join(' '));\n\t },\n\n\t trim: function(str) {\n\t return r.copySafeness(str, str.replace(/^\\s*|\\s*$/g, ''));\n\t },\n\n\t truncate: function(input, length, killwords, end) {\n\t var orig = input;\n\t input = normalize(input, '');\n\t length = length || 255;\n\n\t if (input.length <= length)\n\t return input;\n\n\t if (killwords) {\n\t input = input.substring(0, length);\n\t } else {\n\t var idx = input.lastIndexOf(' ', length);\n\t if(idx === -1) {\n\t idx = length;\n\t }\n\n\t input = input.substring(0, idx);\n\t }\n\n\t input += (end !== undefined && end !== null) ? end : '...';\n\t return r.copySafeness(orig, input);\n\t },\n\n\t upper: function(str) {\n\t str = normalize(str, '');\n\t return str.toUpperCase();\n\t },\n\n\t urlencode: function(obj) {\n\t var enc = encodeURIComponent;\n\t if (lib.isString(obj)) {\n\t return enc(obj);\n\t } else {\n\t var parts;\n\t if (lib.isArray(obj)) {\n\t parts = obj.map(function(item) {\n\t return enc(item[0]) + '=' + enc(item[1]);\n\t });\n\t } else {\n\t parts = [];\n\t for (var k in obj) {\n\t if (obj.hasOwnProperty(k)) {\n\t parts.push(enc(k) + '=' + enc(obj[k]));\n\t }\n\t }\n\t }\n\t return parts.join('&');\n\t }\n\t },\n\n\t urlize: function(str, length, nofollow) {\n\t if (isNaN(length)) length = Infinity;\n\n\t var noFollowAttr = (nofollow === true ? ' rel=\"nofollow\"' : '');\n\n\t // For the jinja regexp, see\n\t // https://github.com/mitsuhiko/jinja2/blob/f15b814dcba6aa12bc74d1f7d0c881d55f7126be/jinja2/utils.py#L20-L23\n\t var puncRE = /^(?:\\(|<|<)?(.*?)(?:\\.|,|\\)|\\n|>)?$/;\n\t // from http://blog.gerv.net/2011/05/html5_email_address_regexp/\n\t var emailRE = /^[\\w.!#$%&'*+\\-\\/=?\\^`{|}~]+@[a-z\\d\\-]+(\\.[a-z\\d\\-]+)+$/i;\n\t var httpHttpsRE = /^https?:\\/\\/.*$/;\n\t var wwwRE = /^www\\./;\n\t var tldRE = /\\.(?:org|net|com)(?:\\:|\\/|$)/;\n\n\t var words = str.split(/(\\s+)/).filter(function(word) {\n\t // If the word has no length, bail. This can happen for str with\n\t // trailing whitespace.\n\t return word && word.length;\n\t }).map(function(word) {\n\t var matches = word.match(puncRE);\n\t var possibleUrl = matches && matches[1] || word;\n\n\t // url that starts with http or https\n\t if (httpHttpsRE.test(possibleUrl))\n\t return '' + possibleUrl.substr(0, length) + '';\n\n\t // url that starts with www.\n\t if (wwwRE.test(possibleUrl))\n\t return '' + possibleUrl.substr(0, length) + '';\n\n\t // an email address of the form username@domain.tld\n\t if (emailRE.test(possibleUrl))\n\t return '' + possibleUrl + '';\n\n\t // url that ends in .com, .org or .net that is not an email address\n\t if (tldRE.test(possibleUrl))\n\t return '' + possibleUrl.substr(0, length) + '';\n\n\t return word;\n\n\t });\n\n\t return words.join('');\n\t },\n\n\t wordcount: function(str) {\n\t str = normalize(str, '');\n\t var words = (str) ? str.match(/\\w+/g) : null;\n\t return (words) ? words.length : null;\n\t },\n\n\t 'float': function(val, def) {\n\t var res = parseFloat(val);\n\t return isNaN(res) ? def : res;\n\t },\n\n\t 'int': function(val, def) {\n\t var res = parseInt(val, 10);\n\t return isNaN(res) ? def : res;\n\t }\n\t};\n\n\t// Aliases\n\tfilters.d = filters['default'];\n\tfilters.e = filters.escape;\n\n\tmodule.exports = filters;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar lib = __webpack_require__(1);\n\tvar Obj = __webpack_require__(6);\n\n\t// Frames keep track of scoping both at compile-time and run-time so\n\t// we know how to access variables. Block tags can introduce special\n\t// variables, for example.\n\tvar Frame = Obj.extend({\n\t init: function(parent, isolateWrites) {\n\t this.variables = {};\n\t this.parent = parent;\n\t this.topLevel = false;\n\t // if this is true, writes (set) should never propagate upwards past\n\t // this frame to its parent (though reads may).\n\t this.isolateWrites = isolateWrites;\n\t },\n\n\t set: function(name, val, resolveUp) {\n\t // Allow variables with dots by automatically creating the\n\t // nested structure\n\t var parts = name.split('.');\n\t var obj = this.variables;\n\t var frame = this;\n\n\t if(resolveUp) {\n\t if((frame = this.resolve(parts[0], true))) {\n\t frame.set(name, val);\n\t return;\n\t }\n\t }\n\n\t for(var i=0; i argNames.length) {\n\t args = Array.prototype.slice.call(arguments, 0, argNames.length);\n\n\t // Positional arguments that should be passed in as\n\t // keyword arguments (essentially default values)\n\t var vals = Array.prototype.slice.call(arguments, args.length, argCount);\n\t for(i = 0; i < vals.length; i++) {\n\t if(i < kwargNames.length) {\n\t kwargs[kwargNames[i]] = vals[i];\n\t }\n\t }\n\n\t args.push(kwargs);\n\t }\n\t else if(argCount < argNames.length) {\n\t args = Array.prototype.slice.call(arguments, 0, argCount);\n\n\t for(i = argCount; i < argNames.length; i++) {\n\t var arg = argNames[i];\n\n\t // Keyword arguments that should be passed as\n\t // positional arguments, i.e. the caller explicitly\n\t // used the name of a positional arg\n\t args.push(kwargs[arg]);\n\t delete kwargs[arg];\n\t }\n\n\t args.push(kwargs);\n\t }\n\t else {\n\t args = arguments;\n\t }\n\n\t return func.apply(this, args);\n\t };\n\t}\n\n\tfunction makeKeywordArgs(obj) {\n\t obj.__keywords = true;\n\t return obj;\n\t}\n\n\tfunction getKeywordArgs(args) {\n\t var len = args.length;\n\t if(len) {\n\t var lastArg = args[len - 1];\n\t if(lastArg && lastArg.hasOwnProperty('__keywords')) {\n\t return lastArg;\n\t }\n\t }\n\t return {};\n\t}\n\n\tfunction numArgs(args) {\n\t var len = args.length;\n\t if(len === 0) {\n\t return 0;\n\t }\n\n\t var lastArg = args[len - 1];\n\t if(lastArg && lastArg.hasOwnProperty('__keywords')) {\n\t return len - 1;\n\t }\n\t else {\n\t return len;\n\t }\n\t}\n\n\t// A SafeString object indicates that the string should not be\n\t// autoescaped. This happens magically because autoescaping only\n\t// occurs on primitive string objects.\n\tfunction SafeString(val) {\n\t if(typeof val !== 'string') {\n\t return val;\n\t }\n\n\t this.val = val;\n\t this.length = val.length;\n\t}\n\n\tSafeString.prototype = Object.create(String.prototype, {\n\t length: { writable: true, configurable: true, value: 0 }\n\t});\n\tSafeString.prototype.valueOf = function() {\n\t return this.val;\n\t};\n\tSafeString.prototype.toString = function() {\n\t return this.val;\n\t};\n\n\tfunction copySafeness(dest, target) {\n\t if(dest instanceof SafeString) {\n\t return new SafeString(target);\n\t }\n\t return target.toString();\n\t}\n\n\tfunction markSafe(val) {\n\t var type = typeof val;\n\n\t if(type === 'string') {\n\t return new SafeString(val);\n\t }\n\t else if(type !== 'function') {\n\t return val;\n\t }\n\t else {\n\t return function() {\n\t var ret = val.apply(this, arguments);\n\n\t if(typeof ret === 'string') {\n\t return new SafeString(ret);\n\t }\n\n\t return ret;\n\t };\n\t }\n\t}\n\n\tfunction suppressValue(val, autoescape) {\n\t val = (val !== undefined && val !== null) ? val : '';\n\n\t if(autoescape && !(val instanceof SafeString)) {\n\t val = lib.escape(val.toString());\n\t }\n\n\t return val;\n\t}\n\n\tfunction ensureDefined(val, lineno, colno) {\n\t if(val === null || val === undefined) {\n\t throw new lib.TemplateError(\n\t 'attempted to output null or undefined value',\n\t lineno + 1,\n\t colno + 1\n\t );\n\t }\n\t return val;\n\t}\n\n\tfunction memberLookup(obj, val) {\n\t obj = obj || {};\n\n\t if(typeof obj[val] === 'function') {\n\t return function() {\n\t return obj[val].apply(obj, arguments);\n\t };\n\t }\n\n\t return obj[val];\n\t}\n\n\tfunction callWrap(obj, name, context, args) {\n\t if(!obj) {\n\t throw new Error('Unable to call `' + name + '`, which is undefined or falsey');\n\t }\n\t else if(typeof obj !== 'function') {\n\t throw new Error('Unable to call `' + name + '`, which is not a function');\n\t }\n\n\t // jshint validthis: true\n\t return obj.apply(context, args);\n\t}\n\n\tfunction contextOrFrameLookup(context, frame, name) {\n\t var val = frame.lookup(name);\n\t return (val !== undefined && val !== null) ?\n\t val :\n\t context.lookup(name);\n\t}\n\n\tfunction handleError(error, lineno, colno) {\n\t if(error.lineno) {\n\t return error;\n\t }\n\t else {\n\t return new lib.TemplateError(error, lineno, colno);\n\t }\n\t}\n\n\tfunction asyncEach(arr, dimen, iter, cb) {\n\t if(lib.isArray(arr)) {\n\t var len = arr.length;\n\n\t lib.asyncIter(arr, function(item, i, next) {\n\t switch(dimen) {\n\t case 1: iter(item, i, len, next); break;\n\t case 2: iter(item[0], item[1], i, len, next); break;\n\t case 3: iter(item[0], item[1], item[2], i, len, next); break;\n\t default:\n\t item.push(i, next);\n\t iter.apply(this, item);\n\t }\n\t }, cb);\n\t }\n\t else {\n\t lib.asyncFor(arr, function(key, val, i, len, next) {\n\t iter(key, val, i, len, next);\n\t }, cb);\n\t }\n\t}\n\n\tfunction asyncAll(arr, dimen, func, cb) {\n\t var finished = 0;\n\t var len, i;\n\t var outputArr;\n\n\t function done(i, output) {\n\t finished++;\n\t outputArr[i] = output;\n\n\t if(finished === len) {\n\t cb(null, outputArr.join(''));\n\t }\n\t }\n\n\t if(lib.isArray(arr)) {\n\t len = arr.length;\n\t outputArr = new Array(len);\n\n\t if(len === 0) {\n\t cb(null, '');\n\t }\n\t else {\n\t for(i = 0; i < arr.length; i++) {\n\t var item = arr[i];\n\n\t switch(dimen) {\n\t case 1: func(item, i, len, done); break;\n\t case 2: func(item[0], item[1], i, len, done); break;\n\t case 3: func(item[0], item[1], item[2], i, len, done); break;\n\t default:\n\t item.push(i, done);\n\t // jshint validthis: true\n\t func.apply(this, item);\n\t }\n\t }\n\t }\n\t }\n\t else {\n\t var keys = lib.keys(arr);\n\t len = keys.length;\n\t outputArr = new Array(len);\n\n\t if(len === 0) {\n\t cb(null, '');\n\t }\n\t else {\n\t for(i = 0; i < keys.length; i++) {\n\t var k = keys[i];\n\t func(k, arr[k], i, len, done);\n\t }\n\t }\n\t }\n\t}\n\n\tmodule.exports = {\n\t Frame: Frame,\n\t makeMacro: makeMacro,\n\t makeKeywordArgs: makeKeywordArgs,\n\t numArgs: numArgs,\n\t suppressValue: suppressValue,\n\t ensureDefined: ensureDefined,\n\t memberLookup: memberLookup,\n\t contextOrFrameLookup: contextOrFrameLookup,\n\t callWrap: callWrap,\n\t handleError: handleError,\n\t isArray: lib.isArray,\n\t keys: lib.keys,\n\t SafeString: SafeString,\n\t copySafeness: copySafeness,\n\t markSafe: markSafe,\n\t asyncEach: asyncEach,\n\t asyncAll: asyncAll,\n\t inOperator: lib.inOperator\n\t};\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\n\tfunction cycler(items) {\n\t var index = -1;\n\n\t return {\n\t current: null,\n\t reset: function() {\n\t index = -1;\n\t this.current = null;\n\t },\n\n\t next: function() {\n\t index++;\n\t if(index >= items.length) {\n\t index = 0;\n\t }\n\n\t this.current = items[index];\n\t return this.current;\n\t },\n\t };\n\n\t}\n\n\tfunction joiner(sep) {\n\t sep = sep || ',';\n\t var first = true;\n\n\t return function() {\n\t var val = first ? '' : sep;\n\t first = false;\n\t return val;\n\t };\n\t}\n\n\t// Making this a function instead so it returns a new object\n\t// each time it's called. That way, if something like an environment\n\t// uses it, they will each have their own copy.\n\tfunction globals() {\n\t return {\n\t range: function(start, stop, step) {\n\t if(typeof stop === 'undefined') {\n\t stop = start;\n\t start = 0;\n\t step = 1;\n\t }\n\t else if(!step) {\n\t step = 1;\n\t }\n\n\t var arr = [];\n\t var i;\n\t if (step > 0) {\n\t for (i=start; istop; i+=step) {\n\t arr.push(i);\n\t }\n\t }\n\t return arr;\n\t },\n\n\t // lipsum: function(n, html, min, max) {\n\t // },\n\n\t cycler: function() {\n\t return cycler(Array.prototype.slice.call(arguments));\n\t },\n\n\t joiner: function(sep) {\n\t return joiner(sep);\n\t }\n\t };\n\t}\n\n\tmodule.exports = globals;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar Loader = __webpack_require__(11);\n\n\tvar PrecompiledLoader = Loader.extend({\n\t init: function(compiledTemplates) {\n\t this.precompiled = compiledTemplates || {};\n\t },\n\n\t getSource: function(name) {\n\t if (this.precompiled[name]) {\n\t return {\n\t src: { type: 'code',\n\t obj: this.precompiled[name] },\n\t path: name\n\t };\n\t }\n\t return null;\n\t }\n\t});\n\n\tmodule.exports = PrecompiledLoader;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar path = __webpack_require__(3);\n\tvar Obj = __webpack_require__(6);\n\tvar lib = __webpack_require__(1);\n\n\tvar Loader = Obj.extend({\n\t on: function(name, func) {\n\t this.listeners = this.listeners || {};\n\t this.listeners[name] = this.listeners[name] || [];\n\t this.listeners[name].push(func);\n\t },\n\n\t emit: function(name /*, arg1, arg2, ...*/) {\n\t var args = Array.prototype.slice.call(arguments, 1);\n\n\t if(this.listeners && this.listeners[name]) {\n\t lib.each(this.listeners[name], function(listener) {\n\t listener.apply(null, args);\n\t });\n\t }\n\t },\n\n\t resolve: function(from, to) {\n\t return path.resolve(path.dirname(from), to);\n\t },\n\n\t isRelative: function(filename) {\n\t return (filename.indexOf('./') === 0 || filename.indexOf('../') === 0);\n\t }\n\t});\n\n\tmodule.exports = Loader;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports) {\n\n\tfunction installCompat() {\n\t 'use strict';\n\n\t // This must be called like `nunjucks.installCompat` so that `this`\n\t // references the nunjucks instance\n\t var runtime = this.runtime; // jshint ignore:line\n\t var lib = this.lib; // jshint ignore:line\n\n\t var orig_contextOrFrameLookup = runtime.contextOrFrameLookup;\n\t runtime.contextOrFrameLookup = function(context, frame, key) {\n\t var val = orig_contextOrFrameLookup.apply(this, arguments);\n\t if (val === undefined) {\n\t switch (key) {\n\t case 'True':\n\t return true;\n\t case 'False':\n\t return false;\n\t case 'None':\n\t return null;\n\t }\n\t }\n\n\t return val;\n\t };\n\n\t var orig_memberLookup = runtime.memberLookup;\n\t var ARRAY_MEMBERS = {\n\t pop: function(index) {\n\t if (index === undefined) {\n\t return this.pop();\n\t }\n\t if (index >= this.length || index < 0) {\n\t throw new Error('KeyError');\n\t }\n\t return this.splice(index, 1);\n\t },\n\t remove: function(element) {\n\t for (var i = 0; i < this.length; i++) {\n\t if (this[i] === element) {\n\t return this.splice(i, 1);\n\t }\n\t }\n\t throw new Error('ValueError');\n\t },\n\t count: function(element) {\n\t var count = 0;\n\t for (var i = 0; i < this.length; i++) {\n\t if (this[i] === element) {\n\t count++;\n\t }\n\t }\n\t return count;\n\t },\n\t index: function(element) {\n\t var i;\n\t if ((i = this.indexOf(element)) === -1) {\n\t throw new Error('ValueError');\n\t }\n\t return i;\n\t },\n\t find: function(element) {\n\t return this.indexOf(element);\n\t },\n\t insert: function(index, elem) {\n\t return this.splice(index, 0, elem);\n\t }\n\t };\n\t var OBJECT_MEMBERS = {\n\t items: function() {\n\t var ret = [];\n\t for(var k in this) {\n\t ret.push([k, this[k]]);\n\t }\n\t return ret;\n\t },\n\t values: function() {\n\t var ret = [];\n\t for(var k in this) {\n\t ret.push(this[k]);\n\t }\n\t return ret;\n\t },\n\t keys: function() {\n\t var ret = [];\n\t for(var k in this) {\n\t ret.push(k);\n\t }\n\t return ret;\n\t },\n\t get: function(key, def) {\n\t var output = this[key];\n\t if (output === undefined) {\n\t output = def;\n\t }\n\t return output;\n\t },\n\t has_key: function(key) {\n\t return this.hasOwnProperty(key);\n\t },\n\t pop: function(key, def) {\n\t var output = this[key];\n\t if (output === undefined && def !== undefined) {\n\t output = def;\n\t } else if (output === undefined) {\n\t throw new Error('KeyError');\n\t } else {\n\t delete this[key];\n\t }\n\t return output;\n\t },\n\t popitem: function() {\n\t for (var k in this) {\n\t // Return the first object pair.\n\t var val = this[k];\n\t delete this[k];\n\t return [k, val];\n\t }\n\t throw new Error('KeyError');\n\t },\n\t setdefault: function(key, def) {\n\t if (key in this) {\n\t return this[key];\n\t }\n\t if (def === undefined) {\n\t def = null;\n\t }\n\t return this[key] = def;\n\t },\n\t update: function(kwargs) {\n\t for (var k in kwargs) {\n\t this[k] = kwargs[k];\n\t }\n\t return null; // Always returns None\n\t }\n\t };\n\t OBJECT_MEMBERS.iteritems = OBJECT_MEMBERS.items;\n\t OBJECT_MEMBERS.itervalues = OBJECT_MEMBERS.values;\n\t OBJECT_MEMBERS.iterkeys = OBJECT_MEMBERS.keys;\n\t runtime.memberLookup = function(obj, val, autoescape) { // jshint ignore:line\n\t obj = obj || {};\n\n\t // If the object is an object, return any of the methods that Python would\n\t // otherwise provide.\n\t if (lib.isArray(obj) && ARRAY_MEMBERS.hasOwnProperty(val)) {\n\t return function() {return ARRAY_MEMBERS[val].apply(obj, arguments);};\n\t }\n\n\t if (lib.isObject(obj) && OBJECT_MEMBERS.hasOwnProperty(val)) {\n\t return function() {return OBJECT_MEMBERS[val].apply(obj, arguments);};\n\t }\n\n\t return orig_memberLookup.apply(this, arguments);\n\t };\n\t}\n\n\tmodule.exports = installCompat;\n\n\n/***/ }\n/******/ ])\n});\n;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/nunjucks/browser/nunjucks-slim.js\n// module id = 15\n// module chunks = 0","import {unique, convert_bytes, convert_date, convert_time, convert_second, convert_price, plural_form} from './helpers'\n\n\nmodule.exports = function(env) {\n env.addGlobal('update', Object.assign);\n env.addGlobal('create_attribute', create_attribute);\n env.addGlobal('unique', unique);\n env.addFilter('convert_date', convert_date);\n env.addFilter('convert_time', convert_time);\n env.addFilter('convert_bytes', convert_bytes);\n env.addFilter('convert_second', convert_second);\n env.addFilter('convert_price', convert_price);\n env.addFilter('plural_form', plural_form);\n};\n\n\n/**\n * Принимает объект и возвращает строку атрибутов\n * @param attr_list\n * @returns {string}\n */\nfunction create_attribute (attr_list, old_attr) {\n let result = [];\n\n Object.keys(attr_list).forEach(key => {\n let value = attr_list[key];\n\n if (value || old_attr[key]) {\n if (Array.isArray(value)) {\n if (old_attr[key]) {\n value = value.concat(Array.isArray(old_attr[key]) ? old_attr[key] : [old_attr[key]]);\n }\n\n result.push(\n key + '=' + value.join(' ')\n );\n } else if (attr_list[key] instanceof Object) {\n result.concat(create_attribute(value));\n } else {\n if (old_attr[key]) {\n value += ' ' + (Array.isArray(old_attr[key]) ? old_attr[key].join(' ') : old_attr[key]);\n }\n\n result.push(\n key + '=\"' + value + '\"'\n );\n }\n }\n });\n\n return result.join(' ');\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/nunjucks.config.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"../b-header/b-header.html\"] = require( \"../b-header/b-header.html\" );\ndependencies[\"../b-nav/b-nav.html\"] = require( \"../b-nav/b-nav.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/common.web/blocks/b-layout/b-layout.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"current_rightholder\")),\"type\") == 1) {\noutput += \"\\n \";\nvar t_1;\nt_1 = \"Физическое лицо\";\nframe.set(\"rightholder_type\", t_1, true);\nif(frame.topLevel) {\ncontext.setVariable(\"rightholder_type\", t_1);\n}\nif(frame.topLevel) {\ncontext.addExport(\"rightholder_type\", t_1);\n}\noutput += \"\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"current_rightholder\")),\"type\") == 2) {\noutput += \"\\n \";\nvar t_2;\nt_2 = \"Индивидуальный предприниматель\";\nframe.set(\"rightholder_type\", t_2, true);\nif(frame.topLevel) {\ncontext.setVariable(\"rightholder_type\", t_2);\n}\nif(frame.topLevel) {\ncontext.addExport(\"rightholder_type\", t_2);\n}\noutput += \"\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"current_rightholder\")),\"type\") == 3) {\noutput += \"\\n \";\nvar t_3;\nt_3 = \"Юридическое лицо\";\nframe.set(\"rightholder_type\", t_3, true);\nif(frame.topLevel) {\ncontext.setVariable(\"rightholder_type\", t_3);\n}\nif(frame.topLevel) {\ncontext.addExport(\"rightholder_type\", t_3);\n}\noutput += \"\\n\";\n;\n}\n;\n}\n;\n}\noutput += \"\\n\\n
\\n \";\nenv.getTemplate(\"../b-header/b-header.html\", false, \"../../node_modules/common.web/blocks/b-layout/b-layout.html\", null, function(t_6,t_4) {\nif(t_6) { cb(t_6); return; }\nt_4.render(context.getVariables(), frame, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\noutput += t_5\noutput += \"\\n
\\n \";\nif(env.getFilter(\"length\").call(context, runtime.contextOrFrameLookup(context, frame, \"menu\"))) {\noutput += \"\\n
\\n \";\nenv.getTemplate(\"../b-nav/b-nav.html\", false, \"../../node_modules/common.web/blocks/b-layout/b-layout.html\", null, function(t_10,t_8) {\nif(t_10) { cb(t_10); return; }\nt_8.render(context.getVariables(), frame, function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\noutput += t_9\noutput += \"\\n
\\n \";\noutput += runtime.suppressValue(env.getFilter(\"safe\").call(context, runtime.contextOrFrameLookup(context, frame, \"footer_text\")), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \";\n})});\n}\noutput += \"\\n \";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_13,t_12) {\nif(t_13) { cb(t_13); return; }\noutput += t_12;\noutput += \"\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\ncb(null, output);\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/common.web/blocks/b-layout/b-layout.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-layout/b-layout.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/common.web/blocks/b-header/b-header.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n \\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"current_user\")) {\noutput += \"\\n
\\n \";\n;\n}\noutput += \"\\n
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"current_user\")),\"user\")),\"post\"), env.opts.autoescape);\noutput += \"
\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"current_user\")),\"user\")),\"name\"), env.opts.autoescape);\noutput += \"\\n \\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/common.web/blocks/b-header/b-header.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-header/b-header.html","module.exports = function (nunjucks, env, obj, dependencies){\n\n var oldRoot = obj.root;\n\n obj.root = function( env, context, frame, runtime, ignoreMissing, cb ) {\n var oldGetTemplate = env.getTemplate;\n env.getTemplate = function (name, ec, parentName, ignoreMissing, cb) {\n if( typeof ec === \"function\" ) {\n cb = ec = false;\n }\n var _require = function (name) {\n try {\n // add a reference to the already resolved dependency here\n return dependencies[name];\n }\n catch (e) {\n if (frame.get(\"_require\")) {\n return frame.get(\"_require\")(name);\n }\n else {\n console.warn('Could not load template \"%s\"', name);\n }\n }\n };\n\n var tmpl = _require(name);\n frame.set(\"_require\", _require);\n\n if( ec ) tmpl.compile();\n cb( null, tmpl );\n };\n\n oldRoot(env, context, frame, runtime, ignoreMissing, function (err, res) {\n env.getTemplate = oldGetTemplate;\n cb( err, res );\n });\n };\n\n var src = {\n obj: obj,\n type: 'code'\n };\n\n return new nunjucks.Template(src, env);\n\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/nunjucks-loader/runtime-shim.js\n// module id = 19\n// module chunks = 0","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/common.web/blocks/b-nav/b-nav.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nvar t_1;\nt_1 = \"/\";\nframe.set(\"home_url\", t_1, true);\nif(frame.topLevel) {\ncontext.setVariable(\"home_url\", t_1);\n}\nif(frame.topLevel) {\ncontext.addExport(\"home_url\", t_1);\n}\noutput += \"\\n\\n
\\n \";\nframe = frame.push();\nvar t_4 = runtime.contextOrFrameLookup(context, frame, \"menu\");\nif(t_4) {var t_3 = t_4.length;\nfor(var t_2=0; t_2 < t_4.length; t_2++) {\nvar t_5 = t_4[t_2];\nframe.set(\"item\", t_5);\nframe.set(\"loop.index\", t_2 + 1);\nframe.set(\"loop.index0\", t_2);\nframe.set(\"loop.revindex\", t_3 - t_2);\nframe.set(\"loop.revindex0\", t_3 - t_2 - 1);\nframe.set(\"loop.first\", t_2 === 0);\nframe.set(\"loop.last\", t_2 === t_3 - 1);\nframe.set(\"loop.length\", t_3);\noutput += \"\\n
\\n \\n
\\n \\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_5),\"name\"), env.opts.autoescape);\noutput += \"\\n \\n
\\n
\\n\\n \";\nif(runtime.memberLookup((t_5),\"menu\")) {\noutput += \"\\n
\\n \";\nframe = frame.push();\nvar t_8 = runtime.memberLookup((t_5),\"menu\");\nif(t_8) {var t_7 = t_8.length;\nfor(var t_6=0; t_6 < t_8.length; t_6++) {\nvar t_9 = t_8[t_6];\nframe.set(\"sub_item\", t_9);\nframe.set(\"loop.index\", t_6 + 1);\nframe.set(\"loop.index0\", t_6);\nframe.set(\"loop.revindex\", t_7 - t_6);\nframe.set(\"loop.revindex0\", t_7 - t_6 - 1);\nframe.set(\"loop.first\", t_6 === 0);\nframe.set(\"loop.last\", t_6 === t_7 - 1);\nframe.set(\"loop.length\", t_7);\noutput += \"\\n \\n
\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_9),\"name\"), env.opts.autoescape);\noutput += \"\\n \\n
\\n
\\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n
\\n \";\n;\n}\noutput += \"\\n
\\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/common.web/blocks/b-nav/b-nav.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-nav/b-nav.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/common.web/blocks/b-loader/b-loader.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
Вход в систему…\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/common.web/blocks/b-loader/b-loader.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-loader/b-loader.html","import context from './context'\nimport Router from 'blocko/router'\n\nimport Controller from 'blocko/controller'\nimport {attach_event, post} from 'blocko/helpers'\n\nexport default class Base extends Controller {\n\n constructor() {\n super({}, context());\n this.prepare_context({\n current_user: {\n path: '/api/red/user/get',\n handler: response => {\n if (response.success) {\n this.add('current_user', response.data);\n if (Router.has_url('Auth')) {\n this.url_for('Home');\n }\n } else {\n if (!Router.has_url('Auth')) {\n this.url_for('Auth');\n }\n }\n }\n },\n\n url_list: {\n path: '/api/red/url/list',\n handler: response => {\n let context_menu = this.get_param('menu');\n if (response.success && context_menu) {\n context_menu.push({\n name: 'СРО',\n link: 'http://' + response.urls.vois_sro,\n icon: 'agreements',\n target: 'blank'\n });\n this.add('menu', context_menu);\n }\n }\n }\n });\n }\n\n prepare_page(parent) {\n attach_event(document.querySelectorAll('.i-logout'), 'click', event => {\n post('/x/id/interface/orange/user/logout', {\n partner: 'vois'\n }, response => {\n this.url_for('Auth');\n });\n });\n super.prepare_page(document.body);\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./source/controller.js","import Router from 'blocko/router'\n\n\nexport default function () {\n\n return {\n app_name: 'ВОИС СУПР',\n footer_text: 'ВОИС: СУПР, 2016',\n page_url: window.location.pathname,\n current_date: new Date() / 1000,\n menu: [\n {\n name: 'Правообладатели',\n link: '/',\n icon: 'rightholders'\n },\n {\n name: 'Договоры',\n link: '/agreements/',\n icon: 'agreements'\n },\n {\n name: 'Права на объекты',\n link: '/rights/',\n icon: 'rights-to-object'\n },\n {\n name: 'Объекты права',\n link: '/objects_rights/',\n icon: 'right-lens'\n },\n {\n name: 'SCAPR',\n link: '/scapr/',\n icon: 'scapr'\n },\n {\n name: 'Администрирование',\n access: 'admin',\n link: '#administration',\n icon: 'administration',\n menu: [\n {\n name: 'Пользователи',\n link: '/users/',\n },\n {\n name: 'Справочники',\n link: '/references/',\n },\n ]\n },\n ],\n\n contragent_types: [\n {uid: 1, name: \"Юридическое лицо\"},\n {uid: 2, name: \"Индивидуальный предприниматель\"},\n {uid: 3, name: \"Физическое лицо\"}\n ],\n\n document_types: [\n {uid: 1, name: \"паспорт РФ\"},\n {uid: 2, name: \"иностранный паспорт\"},\n {uid: 3, name: \"иной документ\"}\n ],\n\n contragent_status: [\n {uid: 1, name: \"В работе\"},\n {uid: 2, name: \"Действует\"},\n {uid: 3, name: \"Архив\"}\n ],\n\n addr_types: [\n {uid: 2, name: \"Юридический\"},\n {uid: 3, name: \"Фактический\"},\n {uid: 1, name: \"Почтовый\"}\n ]\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./source/context.js","import {each, get, post, parse_json, prepare_content} from './helpers'\nimport {set_context, flush_context, get_context} from './functions/context'\nimport render from './functions/render'\nimport Request from './functions/request'\nimport {change_config} from './config'\nimport Events from './events'\nimport Router from './router'\nimport iProgressBar from './widgets/i-progress-bar/i-progress-bar'\n\n\nlet ProgressBar = new iProgressBar();\n\n\nexport default class Controller extends Events {\n\n constructor(params={}, context={}) {\n super();\n\n this._params = Object.assign({}, params);\n\n this._requests = [];\n\n this._handlers = [];\n\n this._is_abort = false;\n\n flush_context();\n set_context(context);\n }\n\n\n /**\n * Перехода на страницу контроллера с передачей параметров\n * @param controller_name\n * @param query\n * @param params\n */\n url_for(controller_name, params={}, query=null) {\n this._is_abort = true;\n Request.abort(this._requests);\n\n let query_string = '';\n if (query) {\n query_string = this._dict_to_query(query);\n }\n Router.navigate(\n Router.get_url.apply({}, arguments) + query_string\n );\n }\n\n\n /**\n * Прервать рендер страници и вызвать ошибку из роута\n * @param code\n */\n abort(code) {\n this._is_abort = true;\n Router.abort(code);\n }\n\n\n /**\n * Добавление значения в контекст\n * @param key\n * @param value\n */\n add(key, value) {\n let data = {};\n data[key] = value;\n set_context(data);\n }\n\n\n /**\n * Получение значения из контекста\n * @param key\n * @returns {*}\n */\n get_param(key) {\n return get_context(key);\n }\n\n\n /**\n * Рендер шаблона\n * @param template\n * @param context\n * @returns {*}\n */\n render(template, context={}) {\n return render(template, Object.assign(this._scope, context));\n }\n\n\n /**\n * Рендер страници\n * @param template\n * @param context\n */\n render_page(template, context={}) {\n if (this._is_abort) {\n return;\n }\n\n ProgressBar.show();\n\n\n Request.stack_post(this._requests, data => {\n each(Object.keys(data), key => {\n if (data[key].data) {\n this.add(key, data[key].data);\n }\n });\n\n let handler;\n while (handler = this._handlers.shift()) {\n if (this._is_abort) {\n return;\n }\n handler();\n }\n\n\n this._run_render_page(template, context);\n });\n\n if (!this._handlers.length && !this._requests.length) {\n this._run_render_page(template, context);\n }\n }\n\n\n /**\n * Подготовка страници\n * @param parent\n */\n prepare_page(parent) {\n prepare_content(parent);\n }\n\n\n /**\n * Подгатовка контекста из апи\n * @param requests\n * @param handler\n */\n prepare_context(requests, handler) {\n if (handler) {\n this._handlers.push(handler);\n }\n this._requests.push(requests);\n }\n\n\n _run_render_page(template, context={}) {\n if (this._is_abort) {\n return;\n }\n\n this._scope = Object.assign(get_context(), context);\n\n ProgressBar.hide();\n\n document.body.innerHTML = this.render(\n template,\n {}\n );\n\n this.prepare_page(document.body);\n\n if (this.init) {\n this.init();\n }\n }\n\n /**\n * Преобразование объекта в query_string\n * @param dict\n * @returns {string}\n */\n _dict_to_query(dict) {\n let item;\n let query = [];\n for(item in dict) {\n if (dict.hasOwnProperty(item)) {\n let key = item;\n let value = dict[item];\n let chunk;\n\n if (value !== null && typeof value === \"object\") {\n chunk = this._dict_to_query(value);\n } else {\n chunk = encodeURIComponent(key) + \"=\" + encodeURIComponent(value);\n }\n\n query.push(chunk);\n }\n }\n return '?' + query.join(\"&\");\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/controller.js","/**\n * @type {{}}\n * @private\n */\nlet _scope = {};\n\n\n/**\n * Установка контекста\n * @param context\n * @returns {*}\n */\nexport function set_context(context) {\n return _scope = Object.assign(_scope, context);\n}\n\n\n/**\n * Очистка контекста\n */\nexport function flush_context() {\n _scope = {};\n}\n\n\n/**\n * Получить доступ к глобальному контексту\n * @param key\n * @returns {*}\n */\nexport function get_context(key) {\n return key ? _scope[key] : _scope;\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/functions/context.js","import Cookie from '../cookie'\n\n/**\n * Рендер шаблона, работает как для handlebars так и для nunjucks\n * @param template\n * @param context\n * @returns {*}\n */\nexport default function (template, context={}) {\n if (Cookie.get('debug') === '1') {\n console.log(context);\n }\n\n return template.render ? template.render(context) : template(context);\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/functions/render.js","export default {\n\n get: function(name) {\n var matches = document.cookie.match(new RegExp(\n \"(?:^|; )\" + name.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') + \"=([^;]*)\"\n ));\n return matches ? decodeURIComponent(matches[1]) : undefined;\n },\n\n set: function(name, value, options) {\n options = options || {};\n\n var expires = options.expires;\n\n if (typeof expires == \"number\" && expires) {\n var d = new Date();\n d.setTime(d.getTime() + expires * 1000);\n expires = options.expires = d;\n }\n if (expires && expires.toUTCString) {\n options.expires = expires.toUTCString();\n }\n\n value = encodeURIComponent(value);\n\n var updatedCookie = name + \"=\" + value;\n\n for (var propName in options) {\n updatedCookie += \"; \" + propName;\n var propValue = options[propName];\n if (propValue !== true) {\n updatedCookie += \"=\" + propValue;\n }\n }\n\n document.cookie = updatedCookie;\n },\n\n remove: function(name) {\n this.set(name, \"\", {\n expires: 'Thu, 01 Jan 1970 00:00:01 GMT'\n });\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/cookie.js","import Events from '../events'\nimport {post, get, each, parse_json} from '../helpers'\n\nlet STACK = [];\nlet is_run = false;\nlet xhr_links = {};\n\nlet Requests = {\n\n flush() {\n STACK = [];\n },\n\n\n /**\n * Прерывание всех запросов\n */\n abort(stack) {\n if (Array.isArray(stack)) {\n each(stack, item => {\n this.abort(item);\n })\n } else {\n each(Object.keys(stack), item => {\n let is_object = typeof item === 'object';\n let url = is_object ? item.path : item;\n\n if (xhr_links[url]) {\n xhr_links[url].abort();\n }\n });\n }\n },\n\n\n /**\n * Отправка POST запроса\n * @param url\n * @param data\n * @param handler\n * @param error\n * @returns {*}\n */\n post: function(url, data, handler, error) {\n return post.apply({}, arguments);\n },\n\n\n /**\n * Отправка GET запроса\n * @param url\n * @param data\n * @param handler\n * @param error\n * @returns {*}\n */\n get: function(url, data, handler, error) {\n return get.apply({}, arguments);\n },\n\n\n /**\n * Добавление в очередь POST запросов\n */\n stack_post(requests={}, handler=undefined) {\n if (Array.isArray(requests)) {\n each(requests, (request, index) => {\n this.stack_post(request, response_data => {\n if (index == requests.length -1) {\n handler(response_data);\n }\n });\n });\n\n if (!requests.length) {\n handler({}, '');\n }\n } else {\n STACK.push({\n type: 'post',\n handler: handler,\n requests: requests\n });\n }\n run();\n },\n\n\n /**\n * Добавление в очередь GET запросов\n */\n stack_get(requests, handler=undefined) {\n if (Array.isArray(requests)) {\n each(requests, (request, index) => {\n this.stack_get(request, response_data => {\n if (index == requests.length -1) {\n handler(response_data)\n }\n });\n });\n\n if (!requests.length) {\n handler({}, '');\n }\n } else {\n STACK.push({\n type: 'get',\n handler: handler,\n requests: requests\n });\n }\n run();\n }\n};\n\n\n/**\n * Запус последовательного выбора из очереди\n */\nfunction run(response_data={}) {\n if (is_run || !STACK.length) {\n return;\n }\n\n let stack_object = STACK.shift();\n let count_requests = Object.keys(stack_object.requests).length;\n\n if (!count_requests) {\n return;\n }\n\n let callback = (key, handler, response, xhr) => {\n response_data[key] = parse_json(response);\n count_requests--;\n\n if (handler) {\n handler(response_data[key], response, xhr);\n }\n\n if (count_requests <= 0) {\n if(stack_object.handler) {\n stack_object.handler(response_data);\n }\n\n is_run = false;\n run(response_data);\n }\n };\n\n if (Requests[stack_object.type]) {\n is_run = true;\n each(Object.keys(stack_object.requests), key => {\n let request = stack_object.requests[key];\n let is_object = typeof request === 'object';\n\n let params = {\n url: is_object ? request.path : request,\n data: is_object ? request.data : {},\n handler: is_object ? request.handler : undefined,\n error: is_object ? request.error : undefined\n };\n xhr_links[params.url] = Requests[stack_object.type](\n params.url,\n params.data,\n callback.bind({}, key, params.handler),\n callback.bind({}, key, params.error)\n );\n });\n }\n}\n\n\nexport default Requests;\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/functions/request.js","export default class Events {\n\n constructor() {\n this._events = {};\n }\n\n attach(event_name, handler) {\n if (!this._events[event_name]) {\n this._events[event_name] = [];\n }\n\n this._events[event_name].push(handler);\n }\n\n dispatch(event_name, params=[]) {\n if (this._events[event_name]) {\n this._events[event_name].forEach(function (handler) {\n handler.apply({}, params);\n });\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/events.js","import Events from '../../events'\n\nexport default class iProgressBar extends Events {\n constructor() {\n super();\n this.timeout = 0;\n }\n\n show() {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(function () {\n this.bar.classList.add('i-progress-bar_show');\n }.bind(this), 300);\n }\n\n hide() {\n clearTimeout(this.timeout);\n this.bar.classList.remove('i-progress-bar_show');\n }\n\n get bar() {\n let bar = document.querySelector('.i-progress-bar');\n\n if (!bar) {\n bar = document.createElement('DIV');\n bar.className = 'i-progress-bar';\n document.body.appendChild(bar);\n }\n\n return bar;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/i-progress-bar/i-progress-bar.js","import template from 'common.web/layouts/l-error/l-error.html'\nimport Controller from '../controller'\nimport Router from 'blocko/router'\n\n\nclass Error extends Controller {\n\n static get route() {\n return '/error/';\n }\n\n constructor() {\n super();\n super.add('menu', false);\n super.render_page(template);\n }\n}\n\nRouter.error_page(Error);\nRouter.add_page(Error);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/error.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"../../blocks/b-layout/b-layout.html\"] = require( \"../../blocks/b-layout/b-layout.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/common.web/layouts/l-error/l-error.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"../../blocks/b-layout/b-layout.html\", true, \"../../node_modules/common.web/layouts/l-error/l-error.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\";\nvar t_3;\nt_3 = \"404\";\nframe.set(\"error_code\", t_3, true);\nif(frame.topLevel) {\ncontext.setVariable(\"error_code\", t_3);\n}\nif(frame.topLevel) {\ncontext.addExport(\"error_code\", t_3);\n}\noutput += \"\\n\";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"current_rightholder\")),\"errcode\")) {\noutput += \"\\n \";\nvar t_4;\nt_4 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"current_rightholder\")),\"errcode\");\nframe.set(\"error_code\", t_4, true);\nif(frame.topLevel) {\ncontext.setVariable(\"error_code\", t_4);\n}\nif(frame.topLevel) {\ncontext.addExport(\"error_code\", t_4);\n}\noutput += \"\\n\";\n;\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_6,t_5) {\nif(t_6) { cb(t_6); return; }\noutput += t_5;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"error_code\") == \"404\") {\noutput += \"\\n
Страница не найдена
\\n
\\n Похоже, страница была удалена или перемещена на другой адрес. Попробуйте начать с\\n главной страницы.\\n
\\n
Код ошибки: \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"error_code\"), env.opts.autoescape);\noutput += \"
\\n \";\n;\n}\nelse {\nif(runtime.contextOrFrameLookup(context, frame, \"error_code\") == \"403\") {\noutput += \"\\n
Доступ запрещён
\\n
\\n Из соображений безопасности мы не можем показать эту страницу. Попробуйте начать с\\n главной страницы.\\n
\\n
Код ошибки: \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"error_code\"), env.opts.autoescape);\noutput += \"
\\n \";\n;\n}\nelse {\nif(runtime.contextOrFrameLookup(context, frame, \"error_code\") == \"500\") {\noutput += \"\\n
Ошибка на сервере
\\n
\\n Похоже, возникла техническая ошибка. Наши специалисты уже получили сообщение об этом.\\n Попробуйте обновить страницу через пару минут.\\n
\\n
Код ошибки: \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"error_code\"), env.opts.autoescape);\noutput += \"
\\n \";\n;\n}\nelse {\nif(runtime.contextOrFrameLookup(context, frame, \"error_code\") == \"768\") {\noutput += \"\\n
Аккаунт заблокирован
\\n
\\n

30 июня 2016 г. модератор ВОИС заблокировал вашу учётную запись.

\\n

Если вы считаете, что произошла ошибка, обратитесь, пожалуйста, в службу поддержки:

\\n secretary@rosvois.ru +7 (499) 418-00-30\\n
\\n \";\n;\n}\n;\n}\n;\n}\n;\n}\noutput += \"\\n
\\n
\\n\";\ncb(null, output);\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/common.web/layouts/l-error/l-error.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/layouts/l-error/l-error.html","import _get from 'lodash.get'\nimport template from '../templates/l-home/l-home.html'\nimport modal_template from '../templates/l-home/l-home__modal-export.html'\nimport modal_scapr_template from '../templates/l-home/l-home__modal-scapr-out.html'\nimport rightholder_item from '../templates/l-home/l-home__rightholders_item.html'\nimport righloder_info from '../templates/l-home/l-home__rightholders_info.html'\n\nimport Controller from '../controller'\nimport Router from 'blocko/router'\nimport {post, get_widget, parse_json, each, closest} from 'blocko/helpers'\nimport iTab from 'blocko/widgets/i-tab/i-tab'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\nimport iToggleForm from '../templates/i-toggle-form/i-toggle-form'\n\nconst TABLE_ROW_COUNT = 100;\nconst DEFAULT_PAGE = {page: 1};\nconst DEFAULT_FILTER = {\n type: '',\n country_id: '',\n status: '',\n okup: ''\n};\nconst DEFAULT_QUERY = {\n order_by: 'name_inner:asc',\n rows: TABLE_ROW_COUNT,\n page: 1\n};\nconst SELECTOR_DEFAULT_STATE = 0;\nconst API_URL = {\n 1: '/api/red/contragent/company/add',\n 2: '/api/red/contragent/businessman/add',\n 3: '/api/red/contragent/person/add'\n};\nconst STATUS_READY = 3;\nconst STATUS_ERROR = 4;\n\nclass Home extends Controller {\n\n static get route() {\n return '/';\n }\n\n constructor(params, query) {\n super();\n\n /**\n * Объект параметров GET-запроса\n * @type {{}}\n */\n this.query = Object.assign({}, DEFAULT_QUERY, query);\n\n super.add('filter_data', this.query);\n super.add('type_name_short', {\n 1: \"ЮЛ\",\n 2: \"ИП\",\n 3: \"ФЛ\"\n });\n super.prepare_context({\n countrys: {\n path: '/api/red/thesaurus/country/list',\n data: {\n order_by: 'is_current:desc,sname:asc'\n }\n },\n rightholders: {\n path: '/api/red/contragent/list',\n data: this.query,\n error: (data, response_text, xhr) => {\n if (xhr.status === 504) {\n this.add('timeout_error', 1);\n }\n }\n }\n });\n\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n content: document.querySelector('.l-home__rightholders-wrap'),\n table: document.querySelector('.l-home__rightholders-list'),\n table_wrap: document.querySelector('.l-home__table-wrap'),\n title: document.querySelectorAll('.l-home__rightholders-list__title'),\n box: document.querySelectorAll('.l-home__rightholders-list__box'),\n create_button: document.querySelector('.l-home__create-rightholder-button'),\n select_type: document.querySelector('.l-home__select-rightholder-type'),\n form: document.querySelector('.l-home__create-rightholder-form'),\n passport_type_selector: document.querySelector('.l-home__create-rightholder-document-selector'),\n button_create_rightholder: document.querySelector('.l-home__button-create-rightholder'),\n button_export: document.querySelector('.l-home__button-export'),\n button_scapr_out: document.querySelector('.l-home__button-scapr_out'),\n hide_all: document.querySelector('.i-icon_collapse-all')\n };\n\n this.widgets = {\n modal_create: get_widget(this.dom.create_button, 'bModal'),\n sort: get_widget(document.querySelector('.b-table__row'), 'bTableSort'),\n b_search: get_widget(document.querySelector('.l-home__rightholders-search'), 'bSearch'),\n b_filter: get_widget(document.querySelector('.l-home__rightholders-filter'), 'bDropdownFilter'),\n b_button_submit: get_widget(this.dom.button_export, 'bButtonSubmit'),\n b_button_scapr_out: get_widget(this.dom.button_scapr_out, 'bButtonSubmit'),\n passport_selector: get_widget(this.dom.passport_type_selector, 'bPassportType'),\n modal_export: undefined,\n toggle_form: undefined\n };\n\n let field_state = {\n inn: {\n validator: {\n 1: ['numeric, inn_ul'],\n 2: ['numeric, inn'],\n 3: ['numeric, inn']\n }\n },\n ogrn: {\n validator: {\n 1: ['numeric, ogrn'],\n 2: ['numeric, ogrnip']\n }\n }\n };\n\n this.widgets.toggle_form = new iToggleForm(this.dom.form, this.dom.select_type, field_state);\n this.dom.button_create_rightholder.setAttribute('disabled', 'disabled');\n\n /**\n * Флаг запроса на дорисовку контента\n * @type {boolean}\n */\n if (this.get_param('rightholders')) {\n this.stop_render = this.get_param('rightholders').contragent_list.length != TABLE_ROW_COUNT;\n } else {\n this.stop_render = undefined;\n }\n\n /**\n * Инициализация фильтра по GET параметрам\n */\n this.widgets.b_filter.form_submit(null, false);\n this._calc_table_wrap();\n\n this.search_request = null;\n\n this._bind();\n this._init_tab();\n this._set_sort_icon();\n }\n\n _bind() {\n this.widgets.b_search.attach('input', this._event_search.bind(this));\n this.widgets.b_search.attach('click', this._clear_search.bind(this));\n this.widgets.b_filter.attach('submit', this._event_filter.bind(this));\n this.widgets.b_filter.attach('change', this._event_filter_close.bind(this));\n this.widgets.b_filter.attach('click', this._event_filter_clear.bind(this));\n this.widgets.sort.attach('sort_click', this._sort.bind(this));\n this.dom.button_export.addEventListener('click', event => {\n this.widgets.b_button_submit.block_button();\n this._export_modal(event);\n });\n this.dom.button_scapr_out.addEventListener('click', event => {\n this.widgets.b_button_scapr_out.block_button();\n this.show_scapr_out_modal(event);\n });\n this.widgets.modal_create.modal.attach('hide', this._event_modal_hide.bind(this));\n this.widgets.toggle_form.attach('change_state', (widget, event) => {\n this._form_change_state(widget, event);\n });\n\n this.dom.table_wrap.addEventListener('scroll', () => {\n this._window_scroll_event();\n });\n }\n\n\n /**\n * Установка иконок сортировки в соответвии с GET-параметрами\n * @private\n */\n _set_sort_icon() {\n if (this.query.order_by) {\n let name = this.query.order_by.split(':')[0];\n let type = this.query.order_by.split(':')[1];\n this.widgets.sort.manual_sort(name, type);\n }\n }\n\n\n /**\n * Эвент фильтрции данных\n * @private\n */\n _event_filter(widget) {\n Object.assign(this.query, widget.form.dict, DEFAULT_PAGE);\n this.url_for('Home', {}, this.query);\n }\n\n\n /**\n * Эвент сброса одного фильтра\n * @param widget\n * @param event\n * @private\n */\n _event_filter_close(widget, event) {\n delete this.query[event.currentTarget.__widget__.name];\n Object.assign(this.query, DEFAULT_PAGE);\n\n this.url_for('Home', {}, this.query);\n }\n\n\n /**\n * Эвент сброса всех фильтров\n * @private\n */\n _event_filter_clear() {\n Object.assign(this.query, DEFAULT_FILTER, DEFAULT_PAGE);\n this.url_for('Home', {}, this.query);\n }\n\n\n /**\n * Эвент поиска по номеру договора\n * @param widget\n * @private\n */\n _event_search(widget) {\n let value = widget.dom.input.value;\n Object.assign(this.query, {'search': value}, DEFAULT_PAGE);\n\n if (!value) {\n delete this.query.search;\n }\n\n if (this.search_request) {\n this.search_request.abort();\n }\n\n clearTimeout(this.search_timer);\n\n this.search_timer = setTimeout(function () {\n this.search_request = post('/api/red/contragent/list', this.query, response => {\n response = parse_json(response);\n this.stop_render = response.data.contragent_list.length < TABLE_ROW_COUNT;\n\n this.dom.content.innerHTML = this.render(\n rightholder_item, {\n timeout_error: 0,\n rightholders: response.data,\n type_name_short: this.get_param('type_name_short')\n }\n );\n this._init_tab();\n }, error => {\n this.dom.content.innerHTML = this.render(\n rightholder_item, {\n timeout_error: 1,\n type_name_short: this.get_param('type_name_short')\n }\n );\n });\n\n }.bind(this), 500);\n\n\n }\n\n\n /**\n * Сброс поля поиска\n * @private\n */\n _clear_search() {\n delete this.query.search;\n Object.assign(this.query, DEFAULT_PAGE);\n this.url_for('Home', {}, this.query);\n }\n\n\n /**\n * Сортировка\n * @param widget\n * @private\n */\n _sort(widget) {\n Object.assign(this.query, {'order_by': widget.order_by}, DEFAULT_PAGE);\n this.url_for('Home', {}, this.query);\n }\n\n\n /**\n * По закрытию модального окна сбрасывает форму на дефолтное значение, убирает ошибки валидации,\n * переключает\n * @private\n */\n _event_modal_hide() {\n let form_widget = get_widget(this.widgets.modal_create.modal.dom.box.querySelector('.i-ajax-form'), 'iForm');\n let i_ajax_form = get_widget(this.widgets.modal_create.modal.dom.box.querySelector('.i-ajax-form'), 'iAjaxForm');\n form_widget.reset();\n form_widget.clear_error_message();\n i_ajax_form.clear_error();\n this.select_toggle = get_widget(document.querySelector('.i-select-toggle'), 'iSelectToggle');\n this.select_toggle.manual_change(SELECTOR_DEFAULT_STATE);\n }\n\n\n /**\n * Создание модального окна экспорта\n * @private\n */\n _export_modal(event) {\n let button = event.target;\n\n post('/api/red/contragent/item/file/add', {params: JSON.stringify(this.query)}, response => {\n response = parse_json(response);\n\n if (response.success) {\n this.widgets.b_button_submit.unblock_button();\n this.widgets.modal_export = new iModal(this.render(modal_template, {data: response.data}), {\n node_link: button,\n strict_hide: true\n });\n this.widgets.modal_export.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.widgets.modal_export.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n location.reload();\n });\n this.widgets.modal_export.attach('hide', () => {\n this.widgets.modal_export.show();\n });\n this.widgets.modal_export.show();\n\n let status_checker = setInterval(function () {\n post('/api/red/contragent/item/file/get', {id: response.data.contragent_item_file.id}, response => {\n response = parse_json(response);\n\n if (response.success) {\n if (response.data.contragent_item_file.status === STATUS_READY\n || response.data.contragent_item_file.status === STATUS_ERROR) {\n clearInterval(status_checker);\n }\n\n this.widgets.modal_export.change_body(this.render(modal_template, {data: response.data}));\n this.widgets.modal_export.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.widgets.modal_export.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n location.reload();\n });\n }\n });\n }.bind(this), 10000);\n }\n });\n }\n\n\n /**\n * Создание модального окна выгрузки в SCAPR\n * @private\n */\n show_scapr_out_modal(event) {\n let button = event.target;\n\n post('/api/red/scapr/create/xml', {}, response => {\n response = parse_json(response);\n // console.log(' * /api/red/scapr/create/xml response', response)\n if (response.success) {\n this.widgets.b_button_scapr_out.unblock_button();\n this.widgets.modal_scapr_out = new iModal(this.render(modal_scapr_template, {loading: true}), {\n node_link: button,\n strict_hide: true\n });\n this.widgets.modal_scapr_out.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.widgets.modal_scapr_out.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n location.reload();\n });\n this.widgets.modal_scapr_out.attach('hide', () => {\n this.widgets.modal_scapr_out.show();\n });\n this.widgets.modal_scapr_out.show();\n\n this.status_checker = setInterval(() => {\n const task_id = _get(response, 'data.task.id')\n if (!task_id) {\n console.warn(' (!) task_id ', task_id)\n return\n }\n\n post('/api/red/scapr/get/xml', {task_id}, response => {\n response = parse_json(response);\n const result = _get(response, 'data.task.json_result')\n const resultKeys = Object.keys(result)\n if (result && resultKeys.length) {\n clearInterval(this.status_checker)\n result.error = (result.errors || result.error || '')\n // + (result.id ? ' Код ошибки: ' + result.id : '')\n this.widgets.modal_scapr_out.change_body(this.render(modal_scapr_template, {data: result, loading: false}));\n this.widgets.modal_scapr_out.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.widgets.modal_scapr_out.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n location.reload();\n });\n }\n });\n }, 3000);\n\n }\n });\n }\n\n\n _init_tab() {\n this.tabs = new iTab({\n buttons: document.querySelectorAll('.i-icon_collapse-one'),\n boxes: document.querySelectorAll('.l-home__rightholders-list__box'),\n button_active_class: 'i-icon_collapse-one_active',\n active: null,\n is_toggle: true,\n is_multiple: true\n });\n\n this.tabs.attach('CHANGE', event => {\n if (event.active >= 0) {\n let buttons_list = document.querySelectorAll('.i-icon_collapse-one');\n let box_list = document.querySelectorAll('.l-home__rightholders-list__box');\n let current_button = buttons_list[event.active];\n let current_box = box_list[event.active];\n let button_parent = closest(current_button, '.l-home__rightholders-list__title');\n let contragent_id = button_parent.getAttribute('data-id');\n\n button_parent.classList.toggle('l-home__rightholders-list__title_active');\n\n post('/api/red/contragent/get', {id: contragent_id, with: 'passport,country'}, response => {\n response = parse_json(response);\n current_box.innerHTML = this.render(righloder_info, {info: response.data.contragent});\n });\n\n this.dom.hide_all.addEventListener('click', event => {\n each(box_list, (item, index) => {\n buttons_list[index].classList.remove('i-icon_collapse-one_active');\n closest(buttons_list[index], '.l-home__rightholders-list__title').classList.remove('l-home__rightholders-list__title_active');\n item.classList.add('hidden');\n });\n });\n }\n });\n }\n\n\n /**\n * Переключение типа правообладателя\n * @param widget\n * @param event\n * @private\n */\n _form_change_state(widget, event) {\n this.widgets.passport_selector.change_passport_type(null, this.dom.passport_type_selector.value);\n this.dom.form.setAttribute('action', API_URL[widget.selector_state]);\n this.dom.button_create_rightholder.removeAttribute('disabled');\n }\n\n\n /**\n * Эвент скрола страницы\n * @private\n */\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n /**\n * Дорисовка контента таблицы при скролле\n * @private\n */\n _next_page() {\n if (this.stop_render) {\n return;\n }\n\n this.stop_render = true;\n this.query.page = parseInt(this.query.page) + 1;\n\n post('/api/red/contragent/list', this.query, response => {\n response = parse_json(response);\n this.dom.content.insertAdjacentHTML('beforeEnd', this.render(rightholder_item, {rightholders: response.data, timeout_error: 0}));\n this._init_tab();\n\n if (response.data.contragent_list.length == TABLE_ROW_COUNT) {\n this.stop_render = false;\n }\n }, error => {\n this.dom.content.insertAdjacentHTML('beforeEnd', this.render(rightholder_item, {timeout_error: 1}));\n this._init_tab();\n });\n }\n\n\n /**\n * Пересчет высоты таблицы в зависимости от фильтра\n * @private\n */\n _calc_table_wrap() {\n if (this.widgets.b_filter.state) {\n this.dom.table_wrap.classList.add('l-home__table-wrap_filter');\n } else {\n this.dom.table_wrap.classList.remove('l-home__table-wrap_filter');\n }\n }\n}\n\nRouter.add_page(Home);\n\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/home.js","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash.get/index.js\n// module id = 34\n// module chunks = 0","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"./l-home__create-rightholder.html\"] = require( \"./l-home__create-rightholder.html\" );\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"../l-home/l-home__rightholders-filter.html\"] = require( \"../l-home/l-home__rightholders-filter.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"../l-home/l-home__rightholders_item.html\"] = require( \"../l-home/l-home__rightholders_item.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-home/l-home.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-home/l-home.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
Список правообладателей
\\n
\\n Добавить правообладателя\\n \\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-home/l-home.html\", false, function(t_10,t_9) {\nif(t_10) { cb(t_10); return; }\nt_9.getExported(function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nif(t_9.hasOwnProperty(\"bSearch\")) {\nvar t_12 = t_9.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_12);\noutput += \"\\n \";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-home/l-home.html\", false, function(t_14,t_13) {\nif(t_14) { cb(t_14); return; }\nt_13.getExported(function(t_15,t_13) {\nif(t_15) { cb(t_15); return; }\nif(t_13.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_16 = t_13.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_16);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 16, colno = 24, runtime.callWrap(t_12, \"bSearch\", context, [{\"class\": \"l-home__rightholders-search\"},{\"placeholder\": \"Поиск по наименованию, ИНН и т.д.\",\"value\": runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"filter_data\")),\"search\")}])), env.opts.autoescape);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 23, colno = 37, runtime.callWrap(t_16, \"bDropdownFilter\", context, [\"Фильтры\",\"filter\",runtime.makeKeywordArgs({\"caller\": (function (){var macro_t_17 = runtime.makeMacro(\n[], \n[], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nvar t_18 = \"\";env.getTemplate(\"../l-home/l-home__rightholders-filter.html\", false, \"../templates/l-home/l-home.html\", null, function(t_21,t_19) {\nif(t_21) { cb(t_21); return; }\nt_19.render(context.getVariables(), frame, function(t_22,t_20) {\nif(t_22) { cb(t_22); return; }\nt_18 += t_20\n})});\nframe = frame.pop();\nreturn new runtime.SafeString(t_18);\n});\nreturn macro_t_17;})()})])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \\n \\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-home/l-home.html\", null, function(t_25,t_23) {\nif(t_25) { cb(t_25); return; }\nt_23.render(context.getVariables(), frame, function(t_26,t_24) {\nif(t_26) { cb(t_26); return; }\noutput += t_24\noutput += \"\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-home/l-home__rightholders_item.html\", false, \"../templates/l-home/l-home.html\", null, function(t_29,t_27) {\nif(t_29) { cb(t_29); return; }\nt_27.render(context.getVariables(), frame, function(t_30,t_28) {\nif(t_30) { cb(t_30); return; }\noutput += t_28\noutput += \"\\n \\n
\\n
\\n Наименование правообладателя\\n
\\n
\\n
\\n Тип\\n
\\n
\\n
\\n ОКУП\\n
\\n
\\n
\\n ИНН\\n
\\n
\\n
\\n СНИЛС\\n
\\n
\\n
\\n Статус\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n})})})})})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-home/l-home.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-home/l-home.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-home/l-home__create-rightholder.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n Заведение правообладателя\\n
\\n\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n \\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n\\n \\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-home/l-home__create-rightholder.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-home/l-home__create-rightholder.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/common.web/blocks/b-search/b-search.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nvar macro_t_1 = runtime.makeMacro(\n[], \n[\"attrs\", \"input_attrs\"], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nframe.set(\"attrs\", kwargs.hasOwnProperty(\"attrs\") ? kwargs[\"attrs\"] : {});\nframe.set(\"input_attrs\", kwargs.hasOwnProperty(\"input_attrs\") ? kwargs[\"input_attrs\"] : {});\nvar t_2 = \"\";t_2 += \"\\n \";\nvar t_3;\nt_3 = (lineno = 1, colno = 23, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"update\"), \"update\", context, [{\"class\": \"\"},runtime.contextOrFrameLookup(context, frame, \"attrs\")]));\nframe.set(\"attrs\", t_3, true);\nif(frame.topLevel) {\ncontext.setVariable(\"attrs\", t_3);\n}\nif(frame.topLevel) {\ncontext.addExport(\"attrs\", t_3);\n}\nt_2 += \"\\n\\n \";\nvar t_4;\nt_4 = (lineno = 5, colno = 29, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"update\"), \"update\", context, [{\"type\": \"text\",\"name\": \"search\",\"value\": \"\",\"placeholder\": \"\",\"class\": \"\"},runtime.contextOrFrameLookup(context, frame, \"input_attrs\")]));\nframe.set(\"input_attrs\", t_4, true);\nif(frame.topLevel) {\ncontext.setVariable(\"input_attrs\", t_4);\n}\nif(frame.topLevel) {\ncontext.addExport(\"input_attrs\", t_4);\n}\nt_2 += \"\\n\\n \\n\";\n;\nframe = frame.pop();\nreturn new runtime.SafeString(t_2);\n});\ncontext.addExport(\"bSearch\");\ncontext.setVariable(\"bSearch\", macro_t_1);\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/common.web/blocks/b-search/b-search.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-search/b-search.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nvar macro_t_1 = runtime.makeMacro(\n[\"name\", \"id\", \"content_modifier\"], \n[\"link_attrs\"], \nfunction (l_name, l_id, l_content_modifier, kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nframe.set(\"name\", l_name);\nframe.set(\"id\", l_id);\nframe.set(\"content_modifier\", l_content_modifier);\nframe.set(\"link_attrs\", kwargs.hasOwnProperty(\"link_attrs\") ? kwargs[\"link_attrs\"] : {});\nvar t_2 = \"\";t_2 += \"\\n \";\nvar t_3;\nt_3 = (lineno = 1, colno = 28, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"update\"), \"update\", context, [{\"class\": \"\"},runtime.contextOrFrameLookup(context, frame, \"link_attrs\")]));\nframe.set(\"link_attrs\", t_3, true);\nif(frame.topLevel) {\ncontext.setVariable(\"link_attrs\", t_3);\n}\nif(frame.topLevel) {\ncontext.addExport(\"link_attrs\", t_3);\n}\nt_2 += \"\\n\\n \\n \\n\";\n;\nframe = frame.pop();\nreturn new runtime.SafeString(t_2);\n});\ncontext.addExport(\"bDropdownFilter\");\ncontext.setVariable(\"bDropdownFilter\", macro_t_1);\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-dropdown-filter/b-dropdown-filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-home/l-home__rightholders-filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
\\n
Тип
\\n \\n
\\n
\\n
Резидентность
\\n \\n
\\n
\\n
Статус
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-home/l-home__rightholders-filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-home/l-home__rightholders-filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/common.web/blocks/b-filter-values/b-filter-values.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/common.web/blocks/b-filter-values/b-filter-values.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-filter-values/b-filter-values.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-home/l-home__rightholders_item.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nif(!runtime.contextOrFrameLookup(context, frame, \"timeout_error\")) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholders\")),\"contragent_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"name_inner\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"type_name_short\")),runtime.memberLookup((t_4),\"type\")), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"okup\") == 1?env.getFilter(\"safe\").call(context, \"\"):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"inn\"), env.opts.autoescape);\noutput += \"\\n \\n \";\nif(runtime.memberLookup((t_4),\"snils\")) {\noutput += \"\\n \";\nif(env.getFilter(\"length\").call(context, runtime.memberLookup((t_4),\"snils\")) == 14) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"snils\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \";\nframe = frame.push();\nvar t_7 = env.getFilter(\"batch\").call(context, runtime.memberLookup((t_4),\"snils\"),9);\nif(t_7) {var t_6 = t_7.length;\nfor(var t_5=0; t_5 < t_7.length; t_5++) {\nvar t_8 = t_7[t_5];\nframe.set(\"item\", t_8);\nframe.set(\"loop.index\", t_5 + 1);\nframe.set(\"loop.index0\", t_5);\nframe.set(\"loop.revindex\", t_6 - t_5);\nframe.set(\"loop.revindex0\", t_6 - t_5 - 1);\nframe.set(\"loop.first\", t_5 === 0);\nframe.set(\"loop.last\", t_5 === t_6 - 1);\nframe.set(\"loop.length\", t_6);\noutput += \"\\n \";\noutput += runtime.suppressValue(env.getFilter(\"join\").call(context, t_8), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n \";\n;\n}\noutput += \"\\n \";\n;\n}\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \\n файлы\\n договоры\\n права\\n \\n \\n \\n \\n \\n \\n \";\n;\n}\n}\nif (!t_2) {\noutput += \"\\n \\n Не найдено записей\\n \\n \";\n}\nframe = frame.pop();\noutput += \"\\n\";\n;\n}\nelse {\noutput += \"\\n \\n Ошибка получения данных. Попробуйте перезагрузить страницу\\n \\n\";\n;\n}\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-home/l-home__rightholders_item.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-home/l-home__rightholders_item.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-home/l-home__modal-export.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n Выгрузка отчета\\n
\\n\\n
\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"contragent_item_file\")),\"status\") == 1 || runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"contragent_item_file\")),\"status\") == 2) {\noutput += \"\\n
\\n
  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"contragent_item_file\")),\"status_name\"), env.opts.autoescape);\noutput += \"...\\n
\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"contragent_item_file\")),\"status\") == 3) {\noutput += \"\\n

Завершено

\\n Ссылка для скачивания\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"contragent_item_file\")),\"status\") == 4) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"contragent_item_file\")),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\n;\n}\n;\n}\noutput += \"\\n
\\n\\n\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-home/l-home__modal-export.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-home/l-home__modal-export.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-home/l-home__modal-scapr-out.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n Выгрузка в SCAPR\\n
\\n\\n
\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"loading\")) {\noutput += \"\\n
\\n
  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"contragent_item_file\")),\"status_name\"), env.opts.autoescape);\noutput += \"...\\n
\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"success\") == 1) {\noutput += \"\\n

Завершено

\\n Ссылка для скачивания\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"error\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"error\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n Неизвестная ошибка\\n \";\n;\n}\n;\n}\n;\n}\noutput += \"\\n
\\n\\n\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-home/l-home__modal-scapr-out.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-home/l-home__modal-scapr-out.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-home/l-home__rightholders_info.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"\\n \\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"info\")),\"type\") == 1) {\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \\n \\n \\n \\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"info\")),\"type\") == 2) {\noutput += \"\";\n;\n}\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"info\")),\"type\") == 2) {\noutput += \"\";\n;\n}\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n
Полное наименованиеСтрана регистрацииИННКППОГРН
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"info\")),\"name\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"info\")),\"country\")),\"iso3\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"info\")),\"inn\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"info\")),\"kpp\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"info\")),\"ogrn\"), env.opts.autoescape);\noutput += \"
ДокументСерияНомер\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"info\")),\"type\") == 3) {\noutput += \"\\n Гражданство\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"info\")),\"type\") == 2) {\noutput += \"\\n Страна регистрации\\n \";\n;\n}\n;\n}\noutput += \"\\n Дата рожденияОГРНИП
\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"info\")),\"passport\")),\"type\") == 3) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"info\")),\"passport\")),\"name\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"info\")),\"passport\")),\"type_name\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"info\")),\"passport\")),\"series\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"info\")),\"passport\")),\"num\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"info\")),\"country\")),\"iso3\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"info\")),\"person_birthday_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"info\")),\"person_birthday_unixtime\"),\"numeric\"):\"\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"info\")),\"ogrn\"), env.opts.autoescape);\noutput += \"
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-home/l-home__rightholders_info.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-home/l-home__rightholders_info.html","import {each, create_widget, attach_event, remove_event} from '../../helpers'\nimport Events from '../../events'\n\n\n/**\n * EVENTS: { CHANGE }\n */\nexport default class iTab extends Events{\n\n constructor(params={}) {\n super();\n\n this.params = {\n buttons: false,\n boxes: false,\n button_active_class: false,\n box_hidden_class: 'hidden',\n active: 0,\n is_toggle: false,\n is_multiple: false\n };\n\n this.reset(params);\n this.active_change(this.params.active);\n }\n\n\n _bind() {\n attach_event(this.params.buttons, 'click', this._event_click.bind(this));\n }\n\n\n _event_click(event) {\n this.active_change(this._index(event.currentTarget));\n this.dispatch('CHANGE', [this]);\n }\n\n\n _index(element) {\n let index = 0;\n each(this.params.buttons, (item, i) => {\n if (item == element) {\n index = i;\n }\n });\n return index;\n }\n\n\n _change_active_element(list, class_name, index, invert=false, multiple=false) {\n\n if (list[index] && multiple) {\n if (list[index]) {\n list[index].classList.toggle(class_name);\n }\n } else {\n each(list, function (element, position) {\n if (position !== index) {\n if (invert) {\n element.classList.add(class_name);\n } else {\n element.classList.remove(class_name);\n }\n\n } else {\n if (invert) {\n element.classList.remove(class_name);\n } else {\n element.classList.add(class_name);\n }\n }\n });\n }\n }\n\n\n /**\n * Активный таб\n * @returns {number|*}\n */\n get active() {\n return this.params.active;\n }\n\n\n /**\n * Открыть таб по индексу\n * @param index\n */\n active_change(index) {\n if (this.params.is_toggle && !this.params.is_multiple) {\n index = this.params.active = index === this.active ? -1 : index;\n } else {\n this.params.active = index;\n }\n\n this._change_active_element(\n this.params.buttons, this.params.button_active_class, index, false, this.params.is_multiple\n );\n if (this.params.boxes) {\n this._change_active_element(\n this.params.boxes, this.params.box_hidden_class, index, true, this.params.is_multiple\n );\n }\n }\n\n\n /**\n * Сбросить настройки виджета и заново установить события\n * @param params\n */\n reset(params={}) {\n this.params = Object.assign(this.params, params);\n remove_event(this.params.buttons, 'click', this._event_click.bind(this));\n this._bind();\n }\n\n show_all() {\n each(this.params.buttons, (item, index) => {\n if(this.params.button_active_class) {\n item.classList.add(this.params.button_active_class);\n }\n this.params.boxes[index].classList.add(this.params.box_hidden_class);\n });\n }\n\n hide_all() {\n each(this.params.buttons, (item, index) => {\n if(this.params.button_active_class) {\n item.classList.remove(this.params.button_active_class);\n }\n this.params.boxes[index].classList.remove(this.params.box_hidden_class);\n });\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/i-tab/i-tab.js","import {create_widget, prepare_content, get_widget} from '../../helpers'\nimport Events from '../../events'\n\nconst ESC_KEY = 27;\nconst PARAMS = ['width'];\nconst STATE_HIDE = 0;\nconst STATE_SHOW = 1;\n\n\nexport default class iModal extends Events{\n\n\n constructor(html_string, params={}) {\n super();\n this.dom = {\n widget: document.createElement('DIV'),\n box: document.createElement('DIV'),\n close_button: document.createElement('I')\n };\n\n this.params = Object.assign({\n node_link: document.body,\n width: '',\n state: STATE_HIDE,\n strict_hide: false\n\n }, params);\n\n\n if (get_widget(this.params.node_link, 'iModal')) {\n return;\n }\n\n create_widget(this.params.node_link, this);\n create_widget(this.dom.box, this);\n\n this._create(html_string);\n }\n\n\n /**\n * Ссылка на box\n * @returns {*}\n */\n get element() {\n return this.dom.box;\n }\n\n\n /**\n * Возвращает состояние modal\n\n * @returns {*}\n */\n get state() {\n return this.params.state;\n }\n\n\n /**\n * Показать\n */\n show() {\n document.body.style.overflow = 'hidden';\n this.dom.widget.classList.add('i-modal_show');\n\n this.dispatch('show');\n this.params.state = STATE_SHOW;\n }\n\n\n /**\n * Скрыть\n */\n hide() {\n document.body.style.overflow = '';\n this.dom.widget.classList.remove('i-modal_show');\n this.dispatch('hide', [this]);\n this.params.state = STATE_HIDE;\n }\n\n\n /**\n\n * Изменение состояния\n */\n toggle() {\n if(this.state == STATE_HIDE) {\n this.show()\n } else if(this.state == STATE_SHOW) {\n this.hide()\n }\n }\n\n\n _create(html_string) {\n this.dom.box.innerHTML = html_string;\n this.dom.widget.className = 'i-modal';\n this.dom.box.className = 'i-modal__box';\n this.dom.close_button.className = 'i-modal__close';\n this.dom.widget.appendChild(this.dom.box);\n this.dom.box.appendChild(this.dom.close_button);\n\n this._insert_params();\n\n this.dom.close_button.addEventListener('click',\n this.hide.bind(this)\n );\n\n if (!this.params.strict_hide) {\n this.dom.widget.addEventListener('click', function (event) {\n if (event.target === this.dom.widget) {\n this.hide();\n }\n }.bind(this));\n }\n\n window.addEventListener('keyup', function (event) {\n if (event.keyCode === ESC_KEY) {\n this.hide();\n }\n }.bind(this));\n\n document.body.appendChild(this.dom.widget);\n\n prepare_content(this.dom.box);\n }\n\n\n change_body(html_string) {\n this.dom.box.innerHTML = html_string;\n this.dom.box.appendChild(this.dom.close_button);\n this.dom.close_button.addEventListener('click',\n this.hide.bind(this)\n );\n prepare_content(this.dom.box);\n }\n\n\n _insert_params() {\n Object.keys(this.params).forEach(function (key) {\n if (this.params[key] && PARAMS.indexOf(key) > -1) {\n this.dom.widget.classList.add('i-modal_'+key+'-'+this.params[key]);\n }\n }.bind(this))\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/i-modal/i-modal.js","import {create_widget, each, get_widget} from 'blocko/helpers'\nimport Events from 'blocko/events'\n\nconst STATE_ATTR = 'data-toggble';\n\n/**\n * Скрывает/показывает элементы в форме.\n * Указатель на переключаемость - дата аттрибут data-toggble на ноде. Если повешен на инпут - переключаются аттрибут\n * validate. В остальных случаях - нода скрывается.\n * form_node - нода формы\n * selector - нода селектора, по которому переключатся статусы\n * state - объект вида с состояниями атрибутов\n * Пример:\n * let field_state = {\n * name: {\n * validator: {\n * 1: ['empty', 'numeric', 'passport_num'],\n * 2: ['empty'],\n * 3: ['empty', 'numeric']\n * }\n * },\n * ...\n * };\n */\nexport default class iToggleForm extends Events {\n\n constructor(form_node, selector, states={}) {\n super();\n\n this.dom = {\n widget: form_node,\n selector: selector\n };\n\n if (get_widget(this.dom.widget, 'iToggleForm')) {\n return;\n }\n\n create_widget(this.dom.widget, this);\n\n this.toggle_items = this.dom.widget.querySelectorAll('['+ STATE_ATTR +']');\n\n this.states = states;\n this._set_default_state();\n this.selector_state = this.dom.selector.value;\n this.form_widget = get_widget(this.dom.widget, 'iForm');\n\n\n this.change_state(this.selector_state);\n\n this.dom.selector.addEventListener('change', event => {\n this.change_state(null, event);\n });\n }\n\n\n /**\n * Переключает состояние формы\n * @param state\n * @param event\n */\n change_state(state=null, event=null) {\n if (event) {\n this.selector_state = event.target.value;\n } else if (state) {\n this.selector_state = state;\n }\n\n each(this.toggle_items, item => {\n if (['INPUT', 'SELECT', 'TEXTAREA'].includes(item.tagName)) {\n this._set_attribute(item);\n } else {\n let show = !item.getAttribute(STATE_ATTR).includes(this.selector_state);\n\n if (show) {\n item.style.display = 'none';\n } else {\n item.style.display = '';\n }\n }\n });\n\n this.form_widget.reset();\n this.form_widget.clear_error_message();\n this.dom.selector.value = this.selector_state;\n\n this.dispatch('change_state', [this, event]);\n }\n\n\n /**\n * Устанавливает на input ноду аттрибуты в соответсвии с текущим состоянием\n * @param item\n * @private\n */\n _set_attribute(item) {\n if (this.form_field_states[item.name]) {\n if (this.form_field_states[item.name].validator) {\n let field_widget = get_widget(item, 'iFormField');\n\n field_widget.set_validators(this.form_field_states[item.name].validator[this.selector_state]);\n }\n }\n }\n\n\n /**\n * Собирает объект статусов из дата аттрибутов\n * @private\n */\n _set_default_state() {\n let default_state = {};\n each(this.toggle_items, item => {\n if (['INPUT', 'SELECT', 'TEXTAREA'].includes(item.tagName) && item.getAttribute('validate')) {\n let validator = item.getAttribute('validate').split(',');\n let avaible_state = item.getAttribute('data-toggble').split(',');\n default_state[item.name] = {validator: {}};\n\n each(avaible_state, field_state => {\n default_state[item.name].validator[field_state.trim()] = validator;\n });\n }\n });\n\n this.form_field_states = Object.assign(default_state, this.states);\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./source/templates/i-toggle-form/i-toggle-form.js","import template from '../templates/l-agreements/l-agreements.html'\nimport table_content from '../templates/l-agreements/l-agreements__table-content.html'\nimport Controller from '../controller'\nimport Router from 'blocko/router'\nimport {post, get_widget, parse_json} from 'blocko/helpers'\n\nconst TABLE_ROW_COUNT = 100;\nconst DEFAULT_PAGE = {page: 1};\nconst DEFAULT_FILTER = {\n type_id: '',\n type_right_type: '',\n contragent_name_inner: '',\n status: ''\n};\nconst DEFAULT_QUERY = {\n order_by: 'num:asc',\n rows: TABLE_ROW_COUNT,\n page: 1\n};\n\n\nclass Agreements extends Controller {\n\n static get route() {\n return '/agreements/';\n }\n\n constructor(params, query) {\n super();\n \n /**\n * Объект параметров GET-запроса\n * @type {{}}\n */\n this.query = Object.assign({}, DEFAULT_QUERY, query);\n\n /**\n * Объект параметров фильтра\n * @type {{}}\n */\n this.filter_data = {};\n Object.assign(this.filter_data, this.query);\n\n /**\n * Создание и наполнение объекта запроса\n * @type {{}}\n */\n let requests = {};\n requests['contracts'] = {\n path: '/api/red/contract/list',\n data: this.query,\n error: (data, response_text, xhr) => {\n if (xhr.status === 504) {\n this.add('timeout_error', 1);\n }\n }\n };\n requests['contract_type'] = {\n path: '/api/red/thesaurus/contract/type/list'\n };\n if (this.query.contragent_id) {\n requests['contragent'] = {\n path: '/api/red/contragent/get',\n data: {\n id: this.query.contragent_id\n },\n handler: response => {\n if (response.success) {\n this.filter_data.contragent_name_inner = this._type_mask(response.data.contragent);\n }\n }\n };\n }\n\n this.search_request = null;\n\n super.prepare_context(requests);\n super.add('filter_data', this.filter_data);\n super.add('active_menu', '/agreements/');\n\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n content: document.querySelector('.l-agreements__content'),\n table: document.querySelector('.l-agreements__table'),\n table_wrap: document.querySelector('.l-agreements__table-wrap'),\n form_suggest: document.querySelector('.l-agreements__form-suggest'),\n contragent_id_field: document.querySelector('.l-agreements__contragent_id_field'),\n contract_num_button: document.querySelector('.l-agreements__contract-num-get'),\n contract_num_input: document.querySelector('.l-agreements__contract-num'),\n button_add: document.querySelector('.l-agreements__modal-add')\n };\n\n this.b_search = get_widget(document.querySelector('.l-agreements__search'), 'bSearch');\n this.b_filter = get_widget(document.querySelector('.l-agreements__filter'), 'bDropdownFilter');\n this.filter_b_input = get_widget(document.querySelector('.l-agreements__filter-suggest'), 'bInput');\n this.form_b_input = get_widget(document.querySelector('.l-agreements__form-suggest'), 'bInput');\n this.widget_form = get_widget(document.querySelector('.l-agreements__filter'), 'iForm');\n this.modal = get_widget(document.querySelector('.l-agreements__modal-add'), 'bModal');\n this.form = get_widget(document.querySelector('.i-ajax-form'), 'iForm');\n this.sort = get_widget(document.querySelector('.b-table__row'), 'bTableSort');\n this.ajax_form = get_widget(document.querySelector('.i-ajax-form'), 'iAjaxForm');\n\n /**\n * Список id контрагентов для модалки \"Добавление договора\"\n * @type {Array}\n */\n this.contragent_id_list = [];\n\n /**\n * Флаг выбора значения из саджеста\n * @type {boolean}\n */\n this.form_suggest_clicked = false;\n\n this.search_timer = 0;\n\n /**\n * Флаг запроса на дорисовку контента\n * @type {boolean}\n */\n if (this.get_param('contracts')) {\n this.stop_render = this.get_param('contracts').contract_list.length < TABLE_ROW_COUNT;\n } else {\n this.stop_render = undefined;\n }\n\n /**\n * Инициализация фильтра по GET параметрам\n */\n this.b_filter.form_submit(null, false);\n this._calc_table_wrap();\n\n this._bind();\n this._set_sort_icon();\n }\n\n _bind() {\n this.b_search.attach('input', this._event_search.bind(this));\n this.b_search.attach('click', this._clear_search.bind(this));\n this.b_filter.attach('submit', this._event_filter.bind(this));\n this.b_filter.attach('change', this._event_filter_close.bind(this));\n this.b_filter.attach('click', this._event_filter_clear.bind(this));\n this.filter_b_input.node.addEventListener('input', this._event_suggest.bind(this));\n this.form_b_input.node.addEventListener('input', this._event_form_suggest.bind(this));\n this.sort.attach('sort_click', this._sort.bind(this));\n this.dom.contract_num_button.addEventListener('click', this._get_contract_num.bind(this));\n this.dom.button_add.addEventListener('click', this._fill_contragent_fields.bind(this));\n\n this.filter_b_input.attach('suggest_click', (index, event) => {\n this._event_suggest_click(index, event);\n });\n\n this.form_b_input.attach('suggest_click', (index, event) => {\n this._event_suggest_click(index, event);\n });\n\n this.modal.modal.attach('hide', () => {\n this.form.reset();\n this.form.clear_error_message();\n this.ajax_form.clear_error();\n });\n\n this.ajax_form.attach('submit', widget => {\n this._modal_submit_check_id(widget);\n });\n\n this.dom.table_wrap.addEventListener('scroll', () => {\n this._window_scroll_event();\n });\n }\n\n\n /**\n * Установка иконок сортировки в соответвии с GET-параметрами\n * @private\n */\n _set_sort_icon() {\n if (this.query.order_by) {\n let name = this.query.order_by.split(':')[0];\n let type = this.query.order_by.split(':')[1];\n this.sort.manual_sort(name, type);\n }\n }\n\n\n /**\n * Эвент фильтрции данных\n * @private\n */\n _event_filter() {\n Object.assign(this.query, this.widget_form.dict, DEFAULT_PAGE);\n\n if (this.query.contragent_name_inner) {\n delete this.query.contragent_name_inner;\n } else {\n delete this.query.contragent_id;\n }\n\n this.url_for('Agreements', {}, this.query);\n }\n\n\n /**\n * Эвент сброса одного фильтра\n * @param widget\n * @param event\n * @private\n */\n _event_filter_close(widget, event) {\n let button_name = event.currentTarget.__widget__.name;\n\n delete this.query[button_name];\n if (button_name == 'contragent_name_inner') {\n delete this.query.contragent_id;\n }\n Object.assign(this.query, DEFAULT_PAGE);\n\n this.url_for('Agreements', {}, this.query);\n }\n\n\n /**\n * Эвент сброса всех фильтров\n * @private\n */\n _event_filter_clear() {\n Object.assign(this.query, DEFAULT_FILTER, DEFAULT_PAGE);\n delete this.query.contragent_id;\n this.url_for('Agreements', {}, this.query);\n }\n\n\n /**\n * Эвент поиска по номеру договора\n * @param widget\n * @private\n */\n _event_search(widget) {\n let value = widget.dom.input.value;\n Object.assign(this.query, {'search': value}, DEFAULT_PAGE);\n\n if (!value) {\n delete this.query.search;\n }\n\n if (this.search_request) {\n this.search_request.abort();\n }\n\n clearTimeout(this.search_timer);\n\n this.search_timer = setTimeout(function () {\n this.search_request = post('/api/red/contract/list', this.query, response => {\n response = parse_json(response);\n this.stop_render = response.data.contract_list.length < TABLE_ROW_COUNT;\n this.dom.content.innerHTML = this.render(table_content, {contracts: response.data, timeout_error: 0});\n }, error => {\n this.dom.content.innerHTML = this.render(table_content, {timeout_error: 1});\n });\n }.bind(this), 500);\n }\n\n\n /**\n * Сброс поля поиска\n * @private\n */\n _clear_search() {\n delete this.query.search;\n Object.assign(this.query, DEFAULT_PAGE);\n this.url_for('Agreements', {}, this.query);\n }\n\n\n /**\n * Сортировка\n * @param widget\n * @private\n */\n _sort(widget) {\n Object.assign(this.query, {'order_by': widget.order_by}, DEFAULT_PAGE);\n this.url_for('Agreements', {}, this.query);\n }\n\n\n /**\n * Эвент ввода в саджест поле фильтра\n * @param event\n * @private\n */\n _event_suggest(event) {\n let value = event.currentTarget.value;\n\n clearTimeout(this.search_timer);\n if (value.length >= 2) {\n this.search_timer = setTimeout(function () {\n\n post('/api/red/contragent/list', {'name_inner_like': value}, response => {\n response = parse_json(response);\n\n if (response.success) {\n this.contragent_id_list = [];\n this.filter_b_input.create_suggest(\n response.data.contragent_list.map(item => {\n this.contragent_id_list.push(item.id);\n return this._type_mask(item);\n }),\n 'suggest__box'\n );\n }\n });\n }.bind(this), 300);\n }\n }\n\n\n /**\n * Эвент ввода в саджест формы добаления договора\n * @param event\n * @private\n */\n _event_form_suggest(event) {\n this.form_suggest_clicked = false;\n let value = event.currentTarget.value;\n\n clearTimeout(this.search_timer);\n if (value.length >= 2) {\n this.search_timer = setTimeout(function () {\n post('/api/red/contragent/list', {'name_inner_like': value}, response => {\n response = parse_json(response);\n\n if (response.success) {\n this.contragent_id_list = [];\n this.form_b_input.create_suggest(\n response.data.contragent_list.map(item => {\n this.contragent_id_list.push(item.id);\n return this._type_mask(item);\n }),\n 'suggest__box'\n );\n }\n });\n }.bind(this), 300);\n }\n }\n\n\n /**\n * Эвент выбора договора из саджест списка. Установка id контрагента.\n * @param index\n * @private\n */\n _event_suggest_click(index) {\n this.form_suggest_clicked = true;\n this.query.contragent_id = this.contragent_id_list[index];\n this.dom.contragent_id_field.value = this.query.contragent_id;\n }\n\n\n /**\n * Эвент скрола страницы\n * @private\n */\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n /**\n * Дорисовка контента таблицы при скролле\n * @private\n */\n _next_page() {\n if (this.stop_render) {\n return;\n }\n\n this.stop_render = true;\n this.query.page = parseInt(this.query.page) + 1;\n\n post('/api/red/contract/list', this.query, response => {\n response = parse_json(response);\n this.dom.content.insertAdjacentHTML('beforeEnd', this.render(table_content, {contracts: response.data, timeout_error: 0}));\n if (response.data.contract_list.length === TABLE_ROW_COUNT) {\n this.stop_render = false;\n }\n }, error => {\n this.dom.content.insertAdjacentHTML('beforeEnd', this.render(table_content, {timeout_error: 1}));\n });\n }\n\n\n /**\n * Заполняет поля контрагента из полей фильтра при открытии модального окна\n * @private\n */\n _fill_contragent_fields() {\n if (this.b_filter.form) {\n this.dom.form_suggest.value = this.b_filter.form.dict.contragent_name_inner;\n this.dom.contragent_id_field.value = this.query.contragent_id;\n }\n }\n\n\n /**\n * Останавливает submit при отсутсвии значения в поле contragent_id модального окна\n * @param widget\n * @private\n */\n _modal_submit_check_id(widget) {\n let id_field = widget.node.querySelector('.l-agreements__contragent_id_field');\n\n if (!id_field.value || !this.form_suggest_clicked) {\n widget.stop_submit();\n widget.set_error('Правообладатель не найден');\n } else {\n widget.start_submit();\n widget.clear_error();\n }\n }\n\n\n /**\n * Получить номер контракта\n * @private\n */\n _get_contract_num() {\n if (!this.dom.contract_num_input.value) {\n post('/api/red/contract/num/add', {}, response => {\n response = parse_json(response);\n if (response.success) {\n this.dom.contract_num_input.value = response.data.contract.contract_num;\n }\n });\n }\n }\n\n\n /**\n * Принимает объект правообладаетя. Возвращает имя правообладателя с маской его типа\n * @param object\n * @returns {*}\n * @private\n */\n _type_mask(object) {\n let types = {1: '(ЮЛ)', 2: '(ИП)', 3: '(ФЛ)'};\n return [\n object.name_inner,\n types[object.type] || ''\n ].join(' ');\n }\n\n\n /**\n * Пересчет высоты таблицы в зависимости от фильтра\n * @private\n */\n _calc_table_wrap() {\n if (this.b_filter.state) {\n this.dom.table_wrap.classList.add('l-agreements__table-wrap_filter');\n } else {\n this.dom.table_wrap.classList.remove('l-agreements__table-wrap_filter');\n }\n }\n}\n\nRouter.add_page(Agreements);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/agreements.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"./l-agreements__modal-add.html\"] = require( \"./l-agreements__modal-add.html\" );\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"../l-agreements/l-agreements__filter.html\"] = require( \"../l-agreements/l-agreements__filter.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"./l-agreements__table-content.html\"] = require( \"./l-agreements__table-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreements/l-agreements.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-agreements/l-agreements.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n Список договоров\\n
\\n \\n \\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-agreements/l-agreements.html\", false, function(t_10,t_9) {\nif(t_10) { cb(t_10); return; }\nt_9.getExported(function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nif(t_9.hasOwnProperty(\"bSearch\")) {\nvar t_12 = t_9.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_12);\noutput += \"\\n \";\noutput += runtime.suppressValue((lineno = 15, colno = 20, runtime.callWrap(t_12, \"bSearch\", context, [{\"class\": \"l-agreements__search\"},{\"placeholder\": \"Поиск по номеру договора\",\"value\": runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"filter_data\")),\"search\")}])), env.opts.autoescape);\noutput += \"\\n\\n \";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-agreements/l-agreements.html\", false, function(t_14,t_13) {\nif(t_14) { cb(t_14); return; }\nt_13.getExported(function(t_15,t_13) {\nif(t_15) { cb(t_15); return; }\nif(t_13.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_16 = t_13.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_16);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 24, colno = 33, runtime.callWrap(t_16, \"bDropdownFilter\", context, [\"Фильтры\",\"filter\",runtime.makeKeywordArgs({\"caller\": (function (){var macro_t_17 = runtime.makeMacro(\n[], \n[], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nvar t_18 = \"\";env.getTemplate(\"../l-agreements/l-agreements__filter.html\", false, \"../templates/l-agreements/l-agreements.html\", null, function(t_21,t_19) {\nif(t_21) { cb(t_21); return; }\nt_19.render(context.getVariables(), frame, function(t_22,t_20) {\nif(t_22) { cb(t_22); return; }\nt_18 += t_20\n})});\nframe = frame.pop();\nreturn new runtime.SafeString(t_18);\n});\nreturn macro_t_17;})()})])), env.opts.autoescape);\noutput += \"\\n
\\n\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-agreements/l-agreements.html\", null, function(t_25,t_23) {\nif(t_25) { cb(t_25); return; }\nt_23.render(context.getVariables(), frame, function(t_26,t_24) {\nif(t_26) { cb(t_26); return; }\noutput += t_24\noutput += \"\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"./l-agreements__table-content.html\", false, \"../templates/l-agreements/l-agreements.html\", null, function(t_29,t_27) {\nif(t_29) { cb(t_29); return; }\nt_27.render(context.getVariables(), frame, function(t_30,t_28) {\nif(t_30) { cb(t_30); return; }\noutput += t_28\noutput += \"\\n \\n
\\n
\\n Номер договора\\n
\\n
\\n
\\n Дата договора\\n
\\n
\\n
\\n Правообладатель\\n
\\n
\\n
\\n Тип договора\\n
\\n
\\n
\\n Статус\\n
\\n
\\n
\\n Вид прав\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n})})})})})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreements/l-agreements.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreements/l-agreements.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreements/l-agreements__modal-add.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n\\n
\\n Добавление договора\\n
\\n\\n \\n\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n \\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreements/l-agreements__modal-add.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreements/l-agreements__modal-add.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreements/l-agreements__filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
\\n
Тип договора
\\n \\n
\\n
\\n
Статус договра
\\n \\n
\\n
\\n
Вид прав
\\n \\n
\\n
\\n
Правообладатель
\\n\\n \\n\\n
\\n
\\n \\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreements/l-agreements__filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreements/l-agreements__filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreements/l-agreements__table-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nif(!runtime.contextOrFrameLookup(context, frame, \"timeout_error\")) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contracts\")),\"contract_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"contract\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \";\nif(runtime.memberLookup((t_4),\"num\")) {\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"num\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"Без номера\";\n;\n}\noutput += \"\\n \";\nif(runtime.memberLookup((t_4),\"date\")) {\noutput += runtime.suppressValue(env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})), env.opts.autoescape);\n;\n}\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"contragent_name_inner\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"type_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"type_right_type_name\"), env.opts.autoescape);\noutput += \"\\n \\n Каталог\\n Права\\n \\n \\n \";\n;\n}\n}\nif (!t_2) {\noutput += \"\\n \\n Не найдено записей\\n \\n \";\n}\nframe = frame.pop();\noutput += \"\\n\";\n;\n}\nelse {\noutput += \"\\n \\n Ошибка получения данных. Попробуйте перезагрузить страницу\\n \\n\";\n;\n}\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreements/l-agreements__table-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreements/l-agreements__table-content.html","import template from '../templates/l-references/l-references.html'\nimport Controller from '../controller'\nimport Router from 'blocko/router'\n\n\nclass References extends Controller {\n\n static get route() {\n return '/references/';\n }\n\n constructor() {\n super();\n\n super.add('active_menu', '#administration');\n\n super.render_page(template);\n }\n}\n\nRouter.add_page(References);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/references.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-references/l-references.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-references/l-references.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Список справочников
Должности
Типы договоров
\\n
\\n\";\ncb(null, output);\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-references/l-references.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-references/l-references.html","import template from '../templates/l-contract-type/l-contract-type.html'\nimport modal_template from '../templates/l-contract-type/l-contract-type__modal.html'\nimport Controller from '../controller'\nimport Router from 'blocko/router'\nimport {each, get_widget} from 'blocko/helpers'\nimport {get_context} from 'blocko/functions/context'\nimport render from 'blocko/functions/render'\n\nimport iModal from 'blocko/widgets/i-modal/i-modal'\n\n\nclass ContractType extends Controller {\n\n static get route() {\n return '/references/contract_type/';\n }\n\n\n constructor() {\n super();\n\n super.add('active_menu', '#administration');\n\n super.prepare_context({\n contract_type: {\n path: '/api/red/thesaurus/contract/type/list',\n error: (data, response_text, xhr) => {\n if (xhr.status === 504) {\n this.add('timeout_error', 1);\n }\n }\n }\n });\n\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n edit_button: document.querySelectorAll('.l-contact-type__modal-edit'),\n delete_button: document.querySelectorAll('.i-icon_delete')\n };\n\n this.modal = undefined;\n this.b_modal_widget = get_widget(document.querySelector('.l-contract-type__add-type'), 'bModal');\n\n this._bind();\n }\n\n _bind() {\n each(this.dom.edit_button, item => {\n item.addEventListener('click', event => {\n this._show_modal(event);\n });\n });\n\n this.b_modal_widget.modal.attach('hide', () => {\n let form_widget = get_widget(this.b_modal_widget.modal.dom.box.querySelector('.i-ajax-form'), 'iForm');\n let i_ajax_form = get_widget(this.b_modal_widget.modal.dom.box.querySelector('.i-ajax-form'), 'iAjaxForm');\n form_widget.reset();\n form_widget.clear_error_message();\n i_ajax_form.clear_error();\n });\n }\n\n\n /**\n * Создание модального окна\n * @param event\n * @private\n */\n _show_modal(event) {\n let button = event.currentTarget;\n this.modal = get_widget(button, 'iModal');\n\n let context = get_context('contract_type');\n let content = context.contract_type_list.find(item => {\n if (item.id == button.getAttribute('data-id')) {\n return item;\n }\n });\n\n if (!this.modal) {\n this.modal = new iModal(render(modal_template, {fields: content}), {\n node_link: event.currentTarget,\n strict_hide: true\n });\n }\n\n this.modal.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n this.modal.hide();\n });\n\n this.modal.attach('hide', () => {\n let form_widget = get_widget(this.modal.dom.box.querySelector('.i-ajax-form'), 'iForm');\n let i_ajax_form = get_widget(this.modal.dom.box.querySelector('.i-ajax-form'), 'iAjaxForm');\n form_widget.reset();\n form_widget.clear_error_message();\n i_ajax_form.clear_error();\n });\n\n this.modal.show();\n }\n}\n\nRouter.add_page(ContractType);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/contract_type.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"./l-contract-type__modal.html\"] = require( \"./l-contract-type__modal.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-contract-type/l-contract-type.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-contract-type/l-contract-type.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n Справочники >\\n Типы договоров\\n
\\n
\\n Добавить тип\\n \\n
\\n\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nif(!runtime.contextOrFrameLookup(context, frame, \"timeout_error\")) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_11 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract_type\")),\"contract_type_list\");\nif(t_11) {var t_10 = t_11.length;\nfor(var t_9=0; t_9 < t_11.length; t_9++) {\nvar t_12 = t_11[t_9];\nframe.set(\"contract_type\", t_12);\nframe.set(\"loop.index\", t_9 + 1);\nframe.set(\"loop.index0\", t_9);\nframe.set(\"loop.revindex\", t_10 - t_9);\nframe.set(\"loop.revindex0\", t_10 - t_9 - 1);\nframe.set(\"loop.first\", t_9 === 0);\nframe.set(\"loop.last\", t_9 === t_10 - 1);\nframe.set(\"loop.length\", t_10);\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \";\n;\n}\n}\nif (!t_10) {\noutput += \"\\n \\n \\n \\n \";\n}\nframe = frame.pop();\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \\n \";\n;\n}\noutput += \"\\n \\n
\\n
\\n Наименование\\n
\\n
\\n
\\n Тип объекта\\n
\\n
\\n
\\n Вид прав\\n
\\n
\\n
\\n Наследуемые права\\n
\\n
\\n
\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((t_12),\"name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_12),\"object_type_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_12),\"right_type_name\"), env.opts.autoescape);\noutput += \"\\n \";\nif(runtime.memberLookup((t_12),\"inheritance\")) {\noutput += \"\";\n;\n}\noutput += \"\\n \\n \";\noutput += \"\\n \";\noutput += \"\\n \\n
Не найдено записей
Ошибка получения данных. Попробуйте перезагрузить страницу
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-contract-type/l-contract-type.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-contract-type/l-contract-type.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-contract-type/l-contract-type__modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"fields\")),\"id\")) {\noutput += \"Изменение\";\n;\n}\nelse {\noutput += \"Создание\";\n;\n}\noutput += \" типа договора\\n
\\n\\n \\n\\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n\\n \\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-contract-type/l-contract-type__modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-contract-type/l-contract-type__modal.html","import template from '../templates/l-post/l-post.html'\nimport modal_edit from '../templates/l-post/l-post__modal-edit.html'\nimport table_content from '../templates/l-post/l-post__table-content.html'\nimport Controller from '../controller'\nimport Router from 'blocko/router'\nimport {post, get_widget, parse_json} from 'blocko/helpers'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\n\n\nclass Post extends Controller {\n\n static get route() {\n return '/references/post/';\n }\n\n constructor() {\n super();\n\n super.add('active_menu', '#administration');\n\n super.prepare_context({\n post_list: {\n path: '/api/red/thesaurus/post/list',\n error: (data, response_text, xhr) => {\n if (xhr.status === 504) {\n this.add('timeout_error', 1);\n }\n }\n }\n });\n\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n content: document.querySelector('.l-post__content')\n };\n\n this.b_search = get_widget(document.querySelector('.l-post__search'), 'bSearch');\n this.b_modal = get_widget(document.querySelector('.l-post__add-post'), 'bModal');\n\n this.data = {};\n\n this.search_request = null;\n\n this._bind();\n }\n\n _bind() {\n this.b_search.attach('input', this._event_search.bind(this));\n this.b_search.attach('click', this._get_default.bind(this));\n\n this.b_modal.modal.attach('hide', () => {\n this._modal_hide(this.b_modal.modal);\n });\n\n this.dom.content.addEventListener('click', event => {\n if (event.target.classList.contains('l-post__item')) {\n this._edit_item(event);\n }\n });\n }\n\n\n /**\n * Изменение записи таблицы\n * @param event\n * @private\n */\n _edit_item(event) {\n let row = event.target;\n let modal = get_widget(row, 'iModal');\n\n if (!modal) {\n let context = this.get_param('post_list');\n let content = context.post_list.find(item => {\n if (item.id == row.getAttribute('data-id')){\n return item;\n }\n });\n\n modal = new iModal(this.render(modal_edit, {fields: content}), {\n node_link: row,\n strict_hide: true\n });\n }\n\n modal.show();\n\n modal.attach('hide', () => {\n this._modal_hide(modal);\n });\n\n modal.element.querySelector('.b-modal__close').addEventListener('click', event => {\n modal.hide();\n });\n }\n\n\n /**\n * Евент скрытия модалки\n * @param modal\n * @private\n */\n _modal_hide(modal) {\n let form_widget = get_widget(modal.dom.box.querySelector('.i-ajax-form'), 'iForm');\n let i_ajax_form = get_widget(modal.dom.box.querySelector('.i-ajax-form'), 'iAjaxForm');\n form_widget.reset();\n form_widget.clear_error_message();\n i_ajax_form.clear_error();\n }\n\n\n /**\n * Эвент поиска по номеру договора\n * @param widget\n * @private\n */\n _event_search(widget) {\n let value = widget.dom.input.value;\n\n Object.assign(this.data, {'post_like': value});\n\n if (!value) {\n delete this.data['post_like'];\n }\n\n if (this.search_request) {\n this.search_request.abort();\n }\n\n clearTimeout(this.search_timer);\n this.search_timer = setTimeout(function () {\n this._render_content();\n }.bind(this), 400);\n }\n\n\n /**\n * Перерисовка таблицы в соответсвии с примененнными фильтрами, сортировками и поисками\n * @private\n */\n _render_content() {\n this.search_request = post('/api/red/thesaurus/post/list', this.data, response => {\n response = parse_json(response);\n this.dom.content.innerHTML = this.render(table_content, {post_list: response.data, timeout_error: 0});\n }, error => {\n this.dom.content.innerHTML = this.render(table_content, {timeout_error: 1});\n\n });\n }\n\n\n /**\n * Сброс поля поиска\n * @private\n */\n _get_default() {\n delete this.data.post_like;\n this._render_content();\n }\n}\n\nRouter.add_page(Post);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/post.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"./l-post__modal-add.html\"] = require( \"./l-post__modal-add.html\" );\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"./l-post__table-content.html\"] = require( \"./l-post__table-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-post/l-post.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-post/l-post.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n\\n
\\n
\\n Справочники >\\n Должности\\n
\\n
\\n Добавить должность\\n \\n
\\n\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-post/l-post.html\", false, function(t_10,t_9) {\nif(t_10) { cb(t_10); return; }\nt_9.getExported(function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nif(t_9.hasOwnProperty(\"bSearch\")) {\nvar t_12 = t_9.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_12);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 19, colno = 20, runtime.callWrap(t_12, \"bSearch\", context, [{\"class\": \"l-post__search\"},{\"placeholder\": \"Поиск по должности\"}])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"./l-post__table-content.html\", false, \"../templates/l-post/l-post.html\", null, function(t_15,t_13) {\nif(t_15) { cb(t_15); return; }\nt_13.render(context.getVariables(), frame, function(t_16,t_14) {\nif(t_16) { cb(t_16); return; }\noutput += t_14\noutput += \"\\n \\n
\\n
\\n Должность\\n
\\n
\\n
\\n Родительный падеж\\n
\\n
\\n
\\n Дательный падеж\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\";\ncb(null, output);\n})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-post/l-post.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-post/l-post.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-post/l-post__modal-add.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n Добавление должности\\n
\\n\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-post/l-post__modal-add.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-post/l-post__modal-add.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-post/l-post__table-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nif(!runtime.contextOrFrameLookup(context, frame, \"timeout_error\")) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"post_list\")),\"post_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"post\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"post_r\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"post_d\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \\n \\n \\n \";\n;\n}\n}\nif (!t_2) {\noutput += \"\\n \\n Не найдено записей\\n \\n \";\n}\nframe = frame.pop();\noutput += \"\\n\";\n;\n}\nelse {\noutput += \"\\n \\n Ошибка получения данных. Попробуйте перезагрузить страницу\\n \\n\";\n;\n}\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-post/l-post__table-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-post/l-post__table-content.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-post/l-post__modal-edit.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n\\n
\\n Изменение должности\\n
\\n\\n \\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-post/l-post__modal-edit.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-post/l-post__modal-edit.html","import template from '../templates/l-users/l-users.html'\nimport table_content from '../templates/l-users/l-users__table-content.html'\nimport Controller from '../controller'\nimport Router from 'blocko/router'\nimport {post, get_widget, parse_json, unique} from 'blocko/helpers'\n\n\nclass Users extends Controller {\n\n static get route() {\n return '/users/';\n }\n\n constructor() {\n super();\n\n super.add('active_menu', '#administration');\n\n super.prepare_context({\n users: {\n path: '/api/red/user/list',\n data: {\n order_by: 'name:asc'\n },\n error: (data, response_text, xhr) => {\n if (xhr.status === 504) {\n this.add('timeout_error', 1);\n }\n }\n }\n });\n\n super.render_page(template);\n }\n\n init() {\n\n this.dom = {\n content: document.querySelector('.l-users__content'),\n email_input: document.querySelector('.l-users__add-user-email'),\n password_input: document.querySelector('.l-users__add-user-password'),\n password_block: document.querySelector('.l-users__password-block'),\n name_input: document.querySelector('.l-users__add-user-name'),\n button_show: document.querySelector('.l-users__password-show-icon'),\n };\n\n this.data = {\n order_by: 'name:asc',\n search: '',\n };\n\n this.search_timer = 0;\n\n this.b_search = get_widget(document.querySelector('.l-users__search'), 'bSearch');\n this.form = get_widget(document.querySelector('.l-users_add-user-form'), 'iAjaxForm');\n this.form_field = get_widget(this.dom.email_input, 'iFormField');\n this.modal = get_widget(document.querySelector('.l-users__add-user'), 'bModal');\n this.sort = get_widget(document.querySelector('.b-table__row'), 'bTableSort');\n\n this.search_request = null;\n\n this._bind();\n }\n\n _bind() {\n\n this.b_search.attach('input', this._event_search.bind(this));\n\n this.b_search.attach('click', this._get_default.bind(this));\n\n /**\n * Эвент ввода в поле \"Email\"\n */\n this.dom.email_input.addEventListener('input', event => {\n\n this.dom.email_input.setAttribute('validate', 'empty, email');\n if (this.form_field.validate()) {\n this.form.dom.widget.action = '/api/red/user/add';\n this.dom.name_input.value = '';\n this._password_block_show();\n this._check_email();\n }\n });\n\n this.dom.button_show.addEventListener('click', this._event_password_show.bind(this));\n\n this.sort.attach('sort_click', widget => {\n this._event_sort(widget);\n });\n\n this.modal.modal.attach('hide', () => {\n let form_widget = get_widget(document.querySelector('.l-users_add-user-form'), 'iForm');\n this._password_block_show();\n form_widget.reset();\n form_widget.clear_error_message();\n this.form.clear_error();\n });\n }\n\n\n /**\n * Эвент поиска\n */\n _event_search(widget) {\n Object.assign(this.data, {'search': widget.dom.input.value});\n\n clearTimeout(this.search_timer);\n\n if (this.search_request) {\n this.search_request.abort();\n }\n\n this.search_timer = setTimeout(function () {\n this._render_content();\n }.bind(this), 500);\n }\n\n\n /**\n * Сортировка по ФИО\n */\n _event_sort(widget) {\n Object.assign(this.data, {'order_by': widget.order_by});\n this._render_content();\n }\n\n\n /**\n * Показать/спрятать пароль\n */\n _event_password_show(event) {\n let button = event.target;\n\n if (button.getAttribute('data-toggle') === 'show') {\n this.dom.password_input.type = 'text';\n button.setAttribute('data-toggle', 'hide');\n } else if (button.getAttribute('data-toggle') === 'hide') {\n this.dom.password_input.type = 'password';\n button.setAttribute('data-toggle', 'show');\n }\n }\n\n\n /**\n * Перерисовка таблицы с данными\n * @private\n */\n _render_content() {\n this.search_request = post('/api/red/user/list', this.data, response => {\n response = parse_json(response);\n\n this.dom.content.innerHTML = this.render(table_content, {users: response.data, timeout_error: 0});\n }, error => {\n this.dom.content.innerHTML = this.render(table_content, {timeout_error: 1});\n });\n }\n\n\n /**\n * Сброса поиска\n */\n _get_default() {\n this.data.search = '';\n this._render_content();\n }\n\n\n /**\n * Проверка поля email\n * @private\n */\n _check_email() {\n post('/api/red/user/exists', {email: this.dom.email_input.value}, response => {\n response = parse_json(response);\n if (response.success) {\n if (response.data.is_user) {\n this.form.stop_submit();\n this.dom.email_input.setAttribute('validate', 'empty, email, email_exist');\n } else if (response.data.is_id_user) {\n this.dom.name_input.value = response.data.id_user.last_name + ' ' + response.data.id_user.first_name;\n this.form.dom.widget.action = '/api/red/user/connect';\n this._password_block_hide();\n this.form.start_submit();\n } else {\n this.dom.password_input.value = unique();\n this.form.start_submit();\n }\n }\n });\n }\n\n /**\n * Спрятать поле \"пароль\"\n * @private\n */\n _password_block_hide() {\n if (this.dom.password_input.getAttribute('validate')) {\n this.dom.password_input.removeAttribute('validate');\n this.dom.password_block.classList.add('hidden');\n }\n }\n\n /**\n * Показать поле \"пароль\"\n * @private\n */\n _password_block_show() {\n if (!this.dom.password_input.getAttribute('validate')) {\n this.dom.password_input.setAttribute('validate', 'empty');\n this.dom.password_block.classList.remove('hidden');\n }\n }\n}\n\nRouter.add_page(Users);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/users.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"./l-users__add-user-modal.html\"] = require( \"./l-users__add-user-modal.html\" );\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"./l-users__table-content.html\"] = require( \"./l-users__table-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-users/l-users.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-users/l-users.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n Пользователи системы\\n
\\n
\\n Добавить пользователя\\n \\n
\\n\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-users/l-users.html\", false, function(t_10,t_9) {\nif(t_10) { cb(t_10); return; }\nt_9.getExported(function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nif(t_9.hasOwnProperty(\"bSearch\")) {\nvar t_12 = t_9.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_12);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 17, colno = 20, runtime.callWrap(t_12, \"bSearch\", context, [{\"class\": \"l-users__search\"},{\"placeholder\": \"Поиск по ФИО, email\"}])), env.opts.autoescape);\noutput += \"\\n
\\n\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"./l-users__table-content.html\", false, \"../templates/l-users/l-users.html\", null, function(t_15,t_13) {\nif(t_15) { cb(t_15); return; }\nt_13.render(context.getVariables(), frame, function(t_16,t_14) {\nif(t_16) { cb(t_16); return; }\noutput += t_14\noutput += \"\\n \\n
\\n
\\n ФИО\\n
\\n
\\n
\\n Email\\n
\\n
\\n
\\n Статус\\n
\\n
\\n
\\n Дата создания\\n
\\n
\\n
\\n Дата блок.\\n
\\n
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-users/l-users.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-users/l-users.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-users/l-users__add-user-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Создание пользователя системы\\n
\\n\\n
\\n
\\n \\n \\n
\\n\\n
\\n
\\n Роль доступа\\n
\\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-users/l-users__add-user-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-users/l-users__add-user-modal.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-users/l-users__table-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nif(!runtime.contextOrFrameLookup(context, frame, \"timeout_error\")) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"users\")),\"user_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"user\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"name\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"email\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \\n \";\nif(runtime.memberLookup((t_4),\"is_blocked\")) {\noutput += \"\\n Заблокирован\\n \";\n;\n}\nelse {\noutput += \"\\n Работает\\n \";\n;\n}\noutput += \"\\n \\n \\n \";\nif(runtime.memberLookup((t_4),\"date_begin\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_begin\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\noutput += \"\\n \\n \";\nif(runtime.memberLookup((t_4),\"date_blocked\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_blocked\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\noutput += \"\\n \\n \\n \";\n;\n}\n}\nif (!t_2) {\noutput += \"\\n \\n Не найдено записей\\n \\n \";\n}\nframe = frame.pop();\noutput += \"\\n\";\n;\n}\nelse {\noutput += \"\\n \\n Ошибка получения данных. Попробуйте перезагрузить страницу\\n \\n\";\n;\n}\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-users/l-users__table-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-users/l-users__table-content.html","import template from '../templates/l-user/l-user.html'\nimport account_template from '../templates/l-user/l-user__block-account.html'\nimport Controller from '../controller'\nimport Router from 'blocko/router'\nimport {post, parse_json, each, get_widget} from 'blocko/helpers'\n\nclass User extends Controller {\n\n static get route() {\n return '/users//';\n }\n\n constructor(params) {\n super();\n\n super.add('active_menu', '#administration');\n\n super.prepare_context({\n user: {\n path: '/api/red/user/get',\n data: {\n id: params.user_id,\n },\n handler: response => {\n if (!response.success) {\n this.abort(404);\n }\n }\n }\n });\n\n this.params = params;\n\n super.render_page(template);\n }\n\n init() {\n\n this.dom = {\n input_password: document.querySelector('.l-user__password-input'),\n button_save: document.querySelector('.l-user__password-save'),\n button_block_user: document.querySelector('.l-user__button-block'),\n block_account: document.querySelector('.l-user__block-account'),\n account_content: document.querySelector('.l-user__box-account-content'),\n titles: document.querySelectorAll('.spoiler-title'),\n boxes: document.querySelectorAll('.l-user__box')\n };\n\n this.widgets = {\n b_button_submit_save: get_widget(this.dom.button_save, 'bButtonSubmit'),\n b_button_submit_block: get_widget(this.dom.button_block_user, 'bButtonSubmit'),\n };\n\n this._bind();\n }\n\n _bind() {\n /**\n * Эвент клика по блоку\n */\n this.dom.block_account.addEventListener('click', event => {\n if (event.target.classList.contains('l-user__button-block')) {\n this._event_block_user(event);\n } else if (event.target.classList.contains('l-user__password-show')) {\n this._event_password_show(event);\n } else if (event.target.classList.contains('l-user__password-save')) {\n this._event_password_save(event);\n }\n });\n\n /**\n * Эвенты скрытия/показа блоков\n */\n each(this.dom.titles, (item, index) => {\n item.addEventListener('click', () => {\n this.dom.boxes[index].classList.toggle('hidden');\n item.querySelector('.i-icon').classList.toggle('i-icon_arrow-down');\n item.querySelector('.i-icon').classList.toggle('i-icon_arrow-right');\n });\n });\n }\n\n /**\n * Скрытие/показ пароля\n */\n _event_password_show() {\n let button = event.target;\n if (button.getAttribute('data-toggle') == 'show') {\n this.dom.input_password.type = 'text';\n button.setAttribute('data-toggle', 'hide');\n } else if (button.getAttribute('data-toggle') == 'hide') {\n this.dom.input_password.type = 'password';\n button.setAttribute('data-toggle', 'show');\n }\n }\n\n /**\n * Сохранение пароля\n */\n _event_password_save() {\n let value = this.dom.input_password.value;\n this.widgets.b_button_submit_save.block_button();\n post('/api/red/user/chpassword', {\n id: this.params.user_id,\n password: value\n }, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n value = '';\n }\n this.widgets.b_button_submit_save.unblock_button();\n });\n }\n\n /**\n * Блокировани/разблокирование пользователя. Перерисовка блока.\n */\n _event_block_user() {\n this.widgets.b_button_submit_block.block_button();\n post('/api/red/user/blocked', {'id' : this.params.user_id}, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n this.dom.account_content.innerHTML = this.render(account_template, {'user': response.data});\n this.dom.input_password = document.querySelector('.l-user__password-input');\n }\n this.widgets.b_button_submit_block.unblock_button();\n });\n }\n}\n\nRouter.add_page(User);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/user.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"../l-user/l-user__block-account.html\"] = require( \"../l-user/l-user__block-account.html\" );\ndependencies[\"../l-user/l-user__block-info.html\"] = require( \"../l-user/l-user__block-info.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-user/l-user.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-user/l-user.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n Пользователи системы >\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"user\")),\"user\")),\"name\"), env.opts.autoescape);\noutput += \"\\n
\\n
\\n
\\n
\\n \\n Учетная запись\\n
\\n \";\nenv.getTemplate(\"../l-user/l-user__block-account.html\", false, \"../templates/l-user/l-user.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n
\\n
\\n
\\n \\n Данные пользователя\\n
\\n \";\nenv.getTemplate(\"../l-user/l-user__block-info.html\", false, \"../templates/l-user/l-user.html\", null, function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nt_9.render(context.getVariables(), frame, function(t_12,t_10) {\nif(t_12) { cb(t_12); return; }\noutput += t_10\noutput += \"\\n
\\n
\\n
\\n\";\ncb(null, output);\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-user/l-user.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-user/l-user.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-user/l-user__block-account.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
Email:  
\\n
\\n  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"user\")),\"user\")),\"email\"), env.opts.autoescape);\noutput += \"\\n
\\n
\\n Статус:\\n   \\n
\\n
\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"user\")),\"user\")),\"is_blocked\")) {\noutput += \"\\n Заблокирован\\n \";\n;\n}\nelse {\noutput += \"\\n Работает\\n \";\n;\n}\noutput += \"\\n
\\n
\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"user\")),\"user\")),\"is_blocked\")) {\noutput += \"\\n \\n \";\n;\n}\nelse {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n
\\n
\\n\\n
\\n
Пароль  
\\n
\\n \\n \\n \\n\\n
\\n
\\n Дата создания:   \\n
\\n
\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"user\")),\"user\")),\"date_begin\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"user\")),\"user\")),\"date_begin\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})):\"\"), env.opts.autoescape);\noutput += \"\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n Дата блокировки:   \\n
\\n
\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"user\")),\"user\")),\"date_blocked\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"user\")),\"user\")),\"date_blocked\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})):\"\"), env.opts.autoescape);\noutput += \"\\n
\\n
\\n
\\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-user/l-user__block-account.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-user/l-user__block-account.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-user/l-user__block-info.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n ФИО\\n \\n \\n \\n \\n
\\n Должность\\n \\n \\n
\\n \\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-user/l-user__block-info.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-user/l-user__block-info.html","import template from '../templates/l-rightholder/l-rightholder.html'\nimport Controller from '../controller';\nimport Router from 'blocko/router';\nimport iTab from 'blocko/widgets/i-tab/i-tab'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\nimport iToggleForm from '../templates/i-toggle-form/i-toggle-form'\nimport {get_context} from 'blocko/functions/context'\nimport {each, post, parse_json, create_widget, get_widget} from 'blocko/helpers'\nimport modal_scapr_template from '../templates/l-home/l-home__modal-scapr-out.html'\nimport _get from 'lodash.get'\n\n\n\nconst TEMPLATES = {\n address: require('../templates/l-rightholder/l-rightholder__address-modal.html'),\n tax: require('../templates/l-rightholder/l-rightholder__tax-modal.html'),\n staff: require('../templates/l-rightholder/l-rightholder__employee-modal.html'),\n passport: require('../templates/l-rightholder/l-rightholder__document-modal.html'),\n contact: require('../templates/l-rightholder/l-rightholder__contact-modal.html'),\n account: require('../templates/l-rightholder/l-rightholder__requisites-modal.html'),\n contragent: require('../templates/l-rightholder/l-rightholder__profile-modal.html')\n};\n\nconst EDIT_API_TYPES = {\n company: '/api/red/contragent/company/edit',\n business: '/api/red/contragent/businessman/edit',\n person: '/api/red/contragent/person/edit'\n}\n\nclass Rightholder extends Controller {\n\n static get route() {\n return '/rightholders//';\n }\n\n constructor(params) {\n super();\n super.add('active_menu', '/');\n super.add('sex_type', {\n 1: 'Мужской',\n 2: 'Женский'\n });\n super.add('tax_type', {\n 1: 'НДФЛ - резиденты',\n 2: 'НДФЛ - нерезиденты',\n 3: 'НДС',\n 4: 'УСН, без НДС',\n });\n super.add('contact_type', [\n {uid: 1, name: \"E-mail\"},\n {uid: 2, name: \"E-mail (рабочий)\"},\n {uid: 3, name: \"Телефон\"},\n {uid: 4, name: \"Телефон мобильный\"},\n {uid: 8, name: \"Телефон рабочий\"},\n {uid: 5, name: \"Факс\"},\n {uid: 7, name: \"Веб-сайт\"},\n {uid: 6, name: \"Прочие\"}\n ]);\n super.add('bank_type', [\n {uid: 1, name: \"В банке РФ\"},\n {uid: 2, name: \"В иностранном банке\"}\n ]);\n super.add('action_name', {\n add: 'Добавление',\n edit: 'Редактирование'\n });\n super.add('rightholder_id', params.id)\n super.prepare_context({\n rightholder: {\n path: '/api/red/contragent/get',\n data: {\n id: params.id,\n with: 'country'\n },\n handler: response => {\n if (!response.success) {\n this.abort(404);\n }\n }\n },\n documents: {\n path: '/api/red/contragent/passport/list',\n data: {contragent_id: params.id},\n error: (data, response_text, xhr) => {\n if (xhr.status === 504) {\n this.add('documents_timeout_error', 1);\n }\n }\n },\n addresses: {\n path: '/api/red/contragent/address/list',\n data: {contragent_id: params.id},\n error: (data, response_text, xhr) => {\n if (xhr.status === 504) {\n this.add('addresses_timeout_error', 1);\n }\n }\n },\n contacts: {\n path: '/api/red/contragent/contact/list',\n data: {contragent_id: params.id},\n error: (data, response_text, xhr) => {\n if (xhr.status === 504) {\n this.add('contacts_timeout_error', 1);\n }\n }\n },\n requisites: {\n path: '/api/red/contragent/account/list',\n data: {contragent_id: params.id},\n error: (data, response_text, xhr) => {\n if (xhr.status === 504) {\n this.add('requisites_timeout_error', 1);\n }\n }\n },\n employees: {\n path: '/api/red/contragent/staff/list',\n data: {contragent_id: params.id},\n error: (data, response_text, xhr) => {\n if (xhr.status === 504) {\n this.add('employees_timeout_error', 1);\n }\n }\n },\n taxes: {\n path: '/api/red/contragent/tax/list',\n data: {with: 'tax', contragent_id: params.id},\n error: (data, response_text, xhr) => {\n if (xhr.status === 504) {\n this.add('taxes_timeout_error', 1);\n }\n }\n },\n currency: '/api/red/thesaurus/currency/list',\n tax: '/api/red/thesaurus/tax/list',\n countrys: {\n path: '/api/red/thesaurus/country/list',\n data: {\n rows: '300',\n order_by: 'is_current:desc,sname:asc'\n }\n },\n regions: '/api/red/thesaurus/region/list',\n district_types: '/api/red/thesaurus/socrbase/list?level=2',\n locality_types: '/api/red/thesaurus/socrbase/list?level=3',\n city_types: '/api/red/thesaurus/socrbase/list?level=4',\n street_types: '/api/red/thesaurus/socrbase/list?level=5',\n }, () => {\n\n /**\n * В объект адреса кладем объект региона\n */\n if (this.get_param('addresses')) {\n each(this.get_param('addresses').address_list, addr => {\n addr.region = this.get_param('regions').region_list.find(item => {\n if (addr.region_id == item.id) {\n return item;\n }\n return false;\n });\n });\n }\n });\n\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n blocks: {\n block: document.querySelectorAll('.l-rightholder__block'),\n title: document.querySelectorAll('.spoiler-title'),\n box: document.querySelectorAll('.l-rightholder__box'),\n show_all: document.querySelector('.l-rightholder__top-collapse-show'),\n hide_all: document.querySelector('.l-rightholder__top-collapse-hide'),\n icons: document.querySelectorAll('.l-rightholder__block-icon')\n },\n switchers: document.querySelectorAll('.l-rightholder__switcher'),\n add_buttons: document.querySelectorAll('.l-rightholder__block-button'),\n agreement_type: null,\n button_scapr_out: document.querySelector('.l-rightholder__scapr-out'),\n };\n\n this.widgets = {\n wgt_scapr_out: get_widget(this.dom.button_scapr_out, 'bButtonSubmit')\n };\n\n this.block_tabs = new iTab({\n buttons: this.dom.blocks.title,\n boxes: this.dom.blocks.box,\n button_active_class: 'l-rightholder__block-title_active',\n box_hidden_class: 'l-rightholder__box_active',\n active: null,\n is_toggle: true,\n is_multiple: true\n });\n\n\n this.block_tabs.attach('CHANGE', instance => {\n this.dom.blocks.block[instance.active].classList.toggle('l-rightholder__block_active');\n this.dom.blocks.icons[instance.active].classList.toggle('i-icon_arrow-down');\n this.dom.blocks.icons[instance.active].classList.toggle('i-icon_arrow-right');\n });\n\n this._bind();\n }\n\n _bind() {\n this.dom.button_scapr_out.addEventListener('click', event => this.show_scapr_out_modal(event));\n\n each(this.dom.blocks.block, block => {\n block.addEventListener('click', event => {\n if (event.target.classList.contains('l-rightholder__add-button')) {\n this._create_modal(event, 'add');\n } else if (event.target.classList.contains('l-rightholder__edit-button')) {\n this._create_modal(event, 'edit');\n }\n });\n\n let list_items = block.querySelectorAll('.l-rightholder__list-item');\n let actual_items_count = block.querySelectorAll('.l-rightholder__list-item_actual').length;\n let show_actual_switcher = block.querySelector('.l-rightholder__switcher-item_actual');\n let show_all_switcher = block.querySelector('.l-rightholder__switcher-item_all');\n\n if (show_actual_switcher) {\n show_actual_switcher.innerText = \"Актуальные (\" + actual_items_count + \")\";\n\n show_actual_switcher.addEventListener('click', event => {\n show_all_switcher.classList.remove('l-rightholder__switcher-item_active');\n show_actual_switcher.classList.add('l-rightholder__switcher-item_active');\n\n each(list_items, item => {\n if(!item.classList.contains('l-rightholder__list-item_actual')) {\n item.classList.add('hidden');\n }\n });\n });\n }\n\n if (show_all_switcher) {\n show_all_switcher.addEventListener('click', event => {\n show_actual_switcher.classList.remove('l-rightholder__switcher-item_active');\n show_all_switcher.classList.add('l-rightholder__switcher-item_active');\n each(list_items, item => {\n item.classList.remove('hidden');\n });\n });\n }\n });\n\n this.dom.blocks.show_all.addEventListener('click', event => {\n each(this.dom.blocks.block, item => {\n item.classList.remove('l-rightholder__block_active');\n });\n each(this.dom.blocks.icons, item => {\n item.classList.add('i-icon_arrow-down');\n item.classList.remove('i-icon_arrow-right');\n });\n\n this.block_tabs.show_all();\n });\n\n this.dom.blocks.hide_all.addEventListener('click', event => {\n each(this.dom.blocks.block, item => {\n item.classList.add('l-rightholder__block_active');\n });\n each(this.dom.blocks.icons, item => {\n item.classList.remove('i-icon_arrow-down');\n item.classList.add('i-icon_arrow-right');\n });\n this.block_tabs.hide_all();\n });\n }\n\n show_scapr_out_modal(event) {\n this.widgets.wgt_scapr_out.block_button();\n\n const button = event.target;\n const contragent_id = ((this.get_param('rightholder') || {}).contragent || {}).id;\n if ( !contragent_id ) {\n console.warn('(!) no contragent_id found');\n return;\n }\n\n post('/api/red/scapr/create/xml', {contragent_id}, response => {\n response = parse_json(response);\n // console.log(' * [rightholder] /api/red/scapr/create/xml response', response)\n if (response.success) {\n this.widgets.wgt_scapr_out.unblock_button();\n this.widgets.modal_scapr_out = new iModal(this.render(modal_scapr_template, { loading: true }), {\n node_link: button,\n strict_hide: true\n });\n this.widgets.modal_scapr_out.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.widgets.modal_scapr_out.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n location.reload();\n });\n this.widgets.modal_scapr_out.attach('hide', () => {\n this.widgets.modal_scapr_out.show();\n });\n this.widgets.modal_scapr_out.show();\n\n this.status_checker = setInterval(() => {\n const task_id = _get(response, 'data.task.id')\n if (!task_id) {\n console.warn(' (!) task_id ', task_id)\n return\n }\n\n post('/api/red/scapr/get/xml', { task_id }, response => {\n response = parse_json(response);\n const result = _get(response, 'data.task.json_result')\n const resultKeys = Object.keys(result)\n if (result && resultKeys.length) {\n clearInterval(this.status_checker);\n result.error = (result.errors || result.error || '')\n // + (result.id ? ' Код ошибки: ' + result.id : '')\n this.widgets.modal_scapr_out.change_body(this.render(modal_scapr_template, { data: result, loading: false }));\n this.widgets.modal_scapr_out.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.widgets.modal_scapr_out.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n location.reload();\n });\n }\n });\n }, 3000);\n\n }\n });\n }\n\n\n _create_modal(event, action) {\n let block_name = event.currentTarget.getAttribute('data-block-name');\n let url = event.currentTarget.getAttribute('data-' + action + '-url');\n let template = TEMPLATES[block_name];\n let modal = get_widget(event.target, 'iModal');\n let data = {action: action, url: url, index: undefined};\n\n if (action === 'edit') {\n let index = event.target.getAttribute('data-index');\n data = {action: action, url: url, index: index};\n }\n\n\n if (!modal) {\n modal = new iModal(this.render(template, data), {\n node_link: event.target,\n strict_hide: true\n });\n }\n\n modal.show();\n\n modal.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n modal.hide();\n });\n\n this.dom.agreement_type = document.querySelector('.l-contragent__modal-edit-type');\n\n const rightholder = super.get_param('rightholder');\n const changeModal = (event) => {\n this.dom.agreement_type.removeEventListener('change', changeModal)\n rightholder.contragent.type = event.target.value;\n modal.change_body(this.render(template),data);\n modal.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n modal.hide();\n });\n this.dom.agreement_type = document.querySelector('.l-contragent__modal-edit-type');\n this.dom.agreement_type.addEventListener('change', changeModal)\n }\n\n modal.attach('hide', () => {\n let form_widget = get_widget(modal.dom.box.querySelector('.i-ajax-form'), 'iForm');\n let i_ajax_form = get_widget(modal.dom.box.querySelector('.i-ajax-form'), 'iAjaxForm');\n form_widget.reset();\n form_widget.clear_error_message();\n i_ajax_form.clear_error();\n if (this.modal_elemets) {\n if (this.modal_elemets.account_select_toggle_widget) {\n this.modal_elemets.account_select_toggle_widget.manual_change(this.modal_elemets.select_account_type.value);\n }\n }\n\n });\n\n switch (block_name) {\n case 'address':\n\n this.modal_elemets = {\n input_full_address: modal.dom.box.querySelector('.l-rightholder__input-full-address'),\n input_region: modal.dom.box.querySelector('.l-rightholder__input-region'),\n input_district: modal.dom.box.querySelector('.l-rightholder__input-district'),\n input_district_type: modal.dom.box.querySelector('.l-rightholder__input-district-type'),\n input_city: modal.dom.box.querySelector('.l-rightholder__input-city'),\n input_city_type: modal.dom.box.querySelector('.l-rightholder__input-city-type'),\n input_conglomerate: modal.dom.box.querySelector('.l-rightholder__input-conglomerate'),\n input_conglomerate_type: modal.dom.box.querySelector('.l-rightholder__input-conglomerate-type'),\n input_street: modal.dom.box.querySelector('.l-rightholder__input-street'),\n input_street_type: modal.dom.box.querySelector('.l-rightholder__input-street-type'),\n input_house: modal.dom.box.querySelector('.l-rightholder__input-house'),\n input_build: modal.dom.box.querySelector('.l-rightholder__input-build'),\n input_apartment: modal.dom.box.querySelector('.l-rightholder__input-apartment'),\n reformat_button: modal.dom.box.querySelector('.l-rightholder__reformat-address')\n };\n\n this.modal_elemets.reformat_button.addEventListener('click', () => {\n\n let address_inputs = [\n this.modal_elemets.input_region.value != '' ? this.modal_elemets.input_region.selectedOptions[0].getAttribute('data-name') : '',\n this.modal_elemets.input_district.value != '' ? this.modal_elemets.input_district.value + ' ' + this.modal_elemets.input_district_type.value : '',\n this.modal_elemets.input_city.value != '' ? this.modal_elemets.input_city.value + ' ' + this.modal_elemets.input_city_type.value : '',\n this.modal_elemets.input_conglomerate.value != '' ? this.modal_elemets.input_conglomerate.value + ' ' + this.modal_elemets.input_conglomerate_type.value : '',\n this.modal_elemets.input_street.value != '' ? this.modal_elemets.input_street.value + ' ' + this.modal_elemets.input_street_type.value : '',\n this.modal_elemets.input_house.value,\n this.modal_elemets.input_build.value,\n this.modal_elemets.input_apartment.value\n ];\n\n this.modal_elemets.input_full_address.value = address_inputs.join();\n });\n break;\n\n case 'tax':\n\n this.modal_elemets = {\n select_tax: modal.dom.box.querySelector('.l-rightholder__select-tax'),\n input_tax_rate: modal.dom.box.querySelector('.l-rightholder__input_tax_rate'),\n };\n\n this.modal_elemets.select_tax.addEventListener('change', event => {\n let context = get_context('tax');\n let tax_rate = context.tax_list.find(item => {\n if (event.target.value == item.id) {\n return item;\n }\n });\n this.modal_elemets.input_tax_rate.value = tax_rate.percent;\n });\n\n break;\n\n case 'account':\n\n this.modal_elemets = {\n select_account_type: modal.dom.box.querySelector('.l-rightholder__requisites-selector'),\n account_form: modal.dom.box.querySelector('.l-rightholder__account-form'),\n };\n\n let account_field_state = {\n bic: {\n validator: {\n 1: ['empty', 'numeric', 'bic'],\n 2: ['empty']\n }\n },\n account: {\n validator: {\n 1: ['empty', 'numeric', 'account'],\n 2: ['empty']\n }\n },\n\n };\n\n new iToggleForm(this.modal_elemets.account_form, this.modal_elemets.select_account_type, account_field_state);\n\n this.modal_elemets.account_select_toggle_widget = get_widget(this.modal_elemets.select_account_type, 'iSelectToggle');\n\n break;\n\n case 'passport':\n\n this.modal_elemets = {\n passport_form: modal.dom.box.querySelector('.l-rightholder__passport-form'),\n select_document_type: modal.dom.box.querySelector('.l-rightholder__document-modal-selector')\n };\n\n let field_state = {\n num: {\n validator: {\n 1: ['empty', 'numeric', 'passport_num'],\n 2: ['empty'],\n 3: ['empty']\n }\n }\n };\n\n new iToggleForm(this.modal_elemets.passport_form, this.modal_elemets.select_document_type, field_state);\n\n break;\n\n case 'staff':\n\n this.modal_elemets = {\n input_post_name_r: modal.dom.box.querySelector('.l-rightholder__input-post_name_r'),\n input_post_name_d: modal.dom.box.querySelector('.l-rightholder__input-post_name_d'),\n };\n\n this.search_timer = 0;\n this.modal_elemets.suggest_widget = get_widget(modal.dom.box.querySelector('.l-rightholder__suggest-post_name'), 'bInput');\n this.modal_elemets.suggest_widget.node.addEventListener('input', event => {\n\n if (document.activeElement != this.modal_elemets.suggest_widget.node) {\n return;\n }\n\n let value = event.currentTarget.value;\n if (value.length >= 2) {\n\n clearTimeout(this.search_timer);\n this.search_timer = setTimeout(function () {\n\n post('/api/red/thesaurus/post/list', {\n post_like: value\n }, response => {\n response = parse_json(response);\n\n if (response.success) {\n this.modal_elemets.suggest_widget.create_suggest(\n response.data.post_list.map(item => {\n return item.post;\n }),\n 'suggest__box'\n );\n }\n });\n }.bind(this), 300);\n }\n });\n\n this.modal_elemets.suggest_widget.attach('suggest_click', (current, widget) => {\n post('/api/red/thesaurus/post/list', {\n post: widget.dom.widget.value\n }, response => {\n response = parse_json(response);\n\n if (response.success) {\n this.modal_elemets.input_post_name_r.value = response.data.post_list[0].post_r;\n this.modal_elemets.input_post_name_d.value = response.data.post_list[0].post_d;\n }\n });\n });\n\n break;\n case 'contragent':\n this._check_is_denied_to_edit_rightholder()\n break;\n }\n }\n\n _check_is_denied_to_edit_rightholder() {\n post('/api/red/contragent/check', {\n id: super.get_param('rightholder_id')\n }, response => {\n response = parse_json(response);\n if (response.success == 1) {\n const disabled = !response.data.check\n if(disabled){\n [...document.getElementsByClassName('l-contragent__modal-edit-type')].forEach(element => element.setAttribute('disabled', true))\n }\n }\n });\n }\n}\n\nRouter.add_page(Rightholder);\n\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/rightholder.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"../l-rightholder/l-rightholder__block-contragent_ul.html\"] = require( \"../l-rightholder/l-rightholder__block-contragent_ul.html\" );\ndependencies[\"../l-rightholder/l-rightholder__block-contragent_ip.html\"] = require( \"../l-rightholder/l-rightholder__block-contragent_ip.html\" );\ndependencies[\"../l-rightholder/l-rightholder__block-contragent_fl.html\"] = require( \"../l-rightholder/l-rightholder__block-contragent_fl.html\" );\ndependencies[\"../l-rightholder/l-rightholder__block-documents.html\"] = require( \"../l-rightholder/l-rightholder__block-documents.html\" );\ndependencies[\"../l-rightholder/l-rightholder__block-addresses.html\"] = require( \"../l-rightholder/l-rightholder__block-addresses.html\" );\ndependencies[\"../l-rightholder/l-rightholder__block-contacts.html\"] = require( \"../l-rightholder/l-rightholder__block-contacts.html\" );\ndependencies[\"../l-rightholder/l-rightholder__block-requisites.html\"] = require( \"../l-rightholder/l-rightholder__block-requisites.html\" );\ndependencies[\"../l-rightholder/l-rightholder__block-employees.html\"] = require( \"../l-rightholder/l-rightholder__block-employees.html\" );\ndependencies[\"../l-rightholder/l-rightholder__block-taxes.html\"] = require( \"../l-rightholder/l-rightholder__block-taxes.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rightholder/l-rightholder.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-rightholder/l-rightholder.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
\\n
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"name_inner\"), env.opts.autoescape);\noutput += \"\\n
\\n
\\n
\\n Перейти в:\\n Файлы\\n Договоры\\n Права\\n \";\noutput += \"\\n
\\n
\\n Развернуть все   \\n Свернуть все\\n
\\n
\\n
\\n
\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"type\") == 1) {\noutput += \"\\n \";\nenv.getTemplate(\"../l-rightholder/l-rightholder__block-contragent_ul.html\", false, \"../templates/l-rightholder/l-rightholder.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n \";\n})});\n}\nelse {\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"type\") == 2) {\noutput += \"\\n \";\nenv.getTemplate(\"../l-rightholder/l-rightholder__block-contragent_ip.html\", false, \"../templates/l-rightholder/l-rightholder.html\", null, function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nt_9.render(context.getVariables(), frame, function(t_12,t_10) {\nif(t_12) { cb(t_12); return; }\noutput += t_10\noutput += \"\\n \";\n})});\n}\nelse {\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"type\") == 3) {\noutput += \"\\n \";\nenv.getTemplate(\"../l-rightholder/l-rightholder__block-contragent_fl.html\", false, \"../templates/l-rightholder/l-rightholder.html\", null, function(t_15,t_13) {\nif(t_15) { cb(t_15); return; }\nt_13.render(context.getVariables(), frame, function(t_16,t_14) {\nif(t_16) { cb(t_16); return; }\noutput += t_14\noutput += \"\\n \";\n})});\n}\n;\n}\n;\n}\noutput += \"\\n\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"type\") != 1) {\noutput += \"\\n \";\nenv.getTemplate(\"../l-rightholder/l-rightholder__block-documents.html\", false, \"../templates/l-rightholder/l-rightholder.html\", null, function(t_19,t_17) {\nif(t_19) { cb(t_19); return; }\nt_17.render(context.getVariables(), frame, function(t_20,t_18) {\nif(t_20) { cb(t_20); return; }\noutput += t_18\noutput += \"\\n \";\n})});\n}\noutput += \"\\n\\n \";\nenv.getTemplate(\"../l-rightholder/l-rightholder__block-addresses.html\", false, \"../templates/l-rightholder/l-rightholder.html\", null, function(t_23,t_21) {\nif(t_23) { cb(t_23); return; }\nt_21.render(context.getVariables(), frame, function(t_24,t_22) {\nif(t_24) { cb(t_24); return; }\noutput += t_22\noutput += \"\\n \";\nenv.getTemplate(\"../l-rightholder/l-rightholder__block-contacts.html\", false, \"../templates/l-rightholder/l-rightholder.html\", null, function(t_27,t_25) {\nif(t_27) { cb(t_27); return; }\nt_25.render(context.getVariables(), frame, function(t_28,t_26) {\nif(t_28) { cb(t_28); return; }\noutput += t_26\noutput += \"\\n \";\nenv.getTemplate(\"../l-rightholder/l-rightholder__block-requisites.html\", false, \"../templates/l-rightholder/l-rightholder.html\", null, function(t_31,t_29) {\nif(t_31) { cb(t_31); return; }\nt_29.render(context.getVariables(), frame, function(t_32,t_30) {\nif(t_32) { cb(t_32); return; }\noutput += t_30\noutput += \"\\n \";\nenv.getTemplate(\"../l-rightholder/l-rightholder__block-employees.html\", false, \"../templates/l-rightholder/l-rightholder.html\", null, function(t_35,t_33) {\nif(t_35) { cb(t_35); return; }\nt_33.render(context.getVariables(), frame, function(t_36,t_34) {\nif(t_36) { cb(t_36); return; }\noutput += t_34\noutput += \"\\n \";\nenv.getTemplate(\"../l-rightholder/l-rightholder__block-taxes.html\", false, \"../templates/l-rightholder/l-rightholder.html\", null, function(t_39,t_37) {\nif(t_39) { cb(t_39); return; }\nt_37.render(context.getVariables(), frame, function(t_40,t_38) {\nif(t_40) { cb(t_40); return; }\noutput += t_38\noutput += \"\\n
\\n
\\n
\\n\";\ncb(null, output);\n})})})})})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rightholder/l-rightholder.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rightholder/l-rightholder.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rightholder/l-rightholder__block-contragent_ul.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Реквизиты правообладателя\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Наименование полное\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"name\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"name\"):\"-\"), env.opts.autoescape);\noutput += \"Статус\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"status_name\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"status_name\"):\"-\"), env.opts.autoescape);\noutput += \"
Наименование краткое\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"name_short\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"name_short\"):\"-\"), env.opts.autoescape);\noutput += \"Тип правообладателя\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"type_name\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"type_name\"):\"-\"), env.opts.autoescape);\noutput += \"
Внутреннее наименование\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"name_inner\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"name_inner\"):\"-\"), env.opts.autoescape);\noutput += \"ОКУП\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"okup\") == 1?env.getFilter(\"safe\").call(context, \"\"):\"\"), env.opts.autoescape);\noutput += \"
Страна регистрации\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"country\")),\"sname\"), env.opts.autoescape);\noutput += \"ИНН/КПП\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"inn\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"inn\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"kpp\")?\" / \" + runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"kpp\"):\" / -\"), env.opts.autoescape);\noutput += \"\\n \\n
Дата регистрации\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"reg_date\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"reg_date\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n ОГРН\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"ogrn\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"ogrn\"):\"-\"), env.opts.autoescape);\noutput += \"
Дата ликвидации\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"date_end\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"date_end\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n Серия свидетельства о регистрации\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"reg_certificate_series\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"reg_certificate_series\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n
Международное имя\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"international_name\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"international_name\"):\"-\"), env.opts.autoescape);\noutput += \"Номер свидетельства о регистрации\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"reg_certificate_num\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"reg_certificate_num\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rightholder/l-rightholder__block-contragent_ul.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rightholder/l-rightholder__block-contragent_ul.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rightholder/l-rightholder__block-contragent_ip.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Реквизиты правообладателя\\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
ФИО\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"person_surname\"), env.opts.autoescape);\noutput += \" \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"person_name\"), env.opts.autoescape);\noutput += \" \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"person_mname\"), env.opts.autoescape);\noutput += \"\\n Статус\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"status_name\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"status_name\"):\"-\"), env.opts.autoescape);\noutput += \"
Внутреннее наименование\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"name_inner\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"name_inner\"):\"-\"), env.opts.autoescape);\noutput += \"Тип правообладателя\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"type_name\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"type_name\"):\"-\"), env.opts.autoescape);\noutput += \"
Пол\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"sex_type\")),runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"sex\")), env.opts.autoescape);\noutput += \"Дата рождения\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"person_birthday\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"person_birthday\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"
Страна регистрации\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"country\")),\"sname\"), env.opts.autoescape);\noutput += \"Место рождения\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"place_birth_data\")),\"name\"), env.opts.autoescape);\noutput += \"
Дата регистрации\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"reg_date\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"reg_date\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"ИНН\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"inn\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"inn\"):\"-\"), env.opts.autoescape);\noutput += \"
Дата ликвидации\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"date_end\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"date_end\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"ОГРНИП\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"ogrn\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"ogrn\"):\"-\"), env.opts.autoescape);\noutput += \"
IPD\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"ipn\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"ipn\"):\"-\"), env.opts.autoescape);\noutput += \"Серия свидетельства о регистрации\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"reg_certificate_series\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"reg_certificate_series\"):\"-\"), env.opts.autoescape);\noutput += \"
Международное имя\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"international_name\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"international_name\"):\"-\"), env.opts.autoescape);\noutput += \"Номер свидетельства о регистрации\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"reg_certificate_num\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"reg_certificate_num\"):\"-\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rightholder/l-rightholder__block-contragent_ip.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rightholder/l-rightholder__block-contragent_ip.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rightholder/l-rightholder__block-contragent_fl.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Реквизиты правообладателя\\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
ФИО\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"person_surname\"), env.opts.autoescape);\noutput += \" \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"person_name\"), env.opts.autoescape);\noutput += \" \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"person_mname\"), env.opts.autoescape);\noutput += \"\\n Статус\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"status_name\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"status_name\"):\"-\"), env.opts.autoescape);\noutput += \"
Внутреннее наименование\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"name_inner\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"name_inner\"):\"-\"), env.opts.autoescape);\noutput += \"Тип правообладателя\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"type_name\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"type_name\"):\"-\"), env.opts.autoescape);\noutput += \"
Пол\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"sex\")?runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"sex_type\")),runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"sex\")):\"-\"), env.opts.autoescape);\noutput += \"Дата рождения\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"person_birthday\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"person_birthday\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"
Гражданство\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"country\")),\"sname\"), env.opts.autoescape);\noutput += \"Место рождения\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"place_birth_data\")),\"name\"), env.opts.autoescape);\noutput += \"
IPD\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"ipn\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"ipn\"):\"-\"), env.opts.autoescape);\noutput += \"СНИЛС\\n \\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"snils\")) {\noutput += \"\\n \";\nif(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"snils\")) == 14) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"snils\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = env.getFilter(\"batch\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"snils\"),9);\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \";\noutput += runtime.suppressValue(env.getFilter(\"join\").call(context, t_4), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n \";\n;\n}\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n -\\n \";\n;\n}\noutput += \"\\n \\n
Международное имя\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"international_name\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"international_name\"):\"-\"), env.opts.autoescape);\noutput += \"ИНН\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"inn\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"inn\"):\"-\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rightholder/l-rightholder__block-contragent_fl.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rightholder/l-rightholder__block-contragent_fl.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rightholder/l-rightholder__block-documents.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n\\n
\\n Документы\\n (\";\noutput += runtime.suppressValue(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"documents\")),\"passport_list\")), env.opts.autoescape);\noutput += \")\\n
\\n
\\n \";\nif(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"documents\")),\"passport_list\"))) {\noutput += \"\\n   \\n Все (\";\noutput += runtime.suppressValue(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"documents\")),\"passport_list\")), env.opts.autoescape);\noutput += \")\\n \";\n;\n}\noutput += \"\\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nif(!runtime.contextOrFrameLookup(context, frame, \"documents_timeout_error\")) {\noutput += \"\\n \";\nif(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"documents\")),\"passport_list\"))) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"documents\")),\"passport_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \\n \";\n;\n}\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \\n \";\n;\n}\noutput += \"\\n \\n
НаименованиеСерияНомерОсновнойСПо
\\n \";\nif(runtime.memberLookup((t_4),\"type\") == 3) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"name\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"type_name\")?runtime.memberLookup((t_4),\"type_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"series\")?runtime.memberLookup((t_4),\"series\"):\"-\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"num\")?runtime.memberLookup((t_4),\"num\"):\"-\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"is_current\") == 1?env.getFilter(\"safe\").call(context, \"\"):\"\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_begin\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_begin\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_end\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_end\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n   \\n \\n
Не найдено записей
Ошибка получения данных. Попробуйте перезагрузить страницу
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rightholder/l-rightholder__block-documents.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rightholder/l-rightholder__block-documents.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rightholder/l-rightholder__block-addresses.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Адреса\\n (\";\noutput += runtime.suppressValue(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"addresses\")),\"address_list\")), env.opts.autoescape);\noutput += \")\\n
\\n
\\n \";\nif(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"addresses\")),\"address_list\"))) {\noutput += \"\\n   \\n Все (\";\noutput += runtime.suppressValue(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"addresses\")),\"address_list\")), env.opts.autoescape);\noutput += \")\\n \";\n;\n}\noutput += \"\\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nif(!runtime.contextOrFrameLookup(context, frame, \"addresses_timeout_error\")) {\noutput += \"\\n \";\nif(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"addresses\")),\"address_list\"))) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"addresses\")),\"address_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \\n \";\n;\n}\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \\n \";\n;\n}\noutput += \"\\n \\n
Вид адресаАдресСПо
\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"type_address\")?runtime.memberLookup((t_4),\"type_address\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\nif(runtime.memberLookup((t_4),\"address\")) {\noutput += \"\\n \";\nif(runtime.memberLookup((t_4),\"index\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"index\"), env.opts.autoescape);\noutput += \",\\n \";\n;\n}\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"address\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n -\\n \";\n;\n}\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_begin_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_begin_unixtime\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_end_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_end_unixtime\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n   \\n \\n
Не найдено записей
Ошибка получения данных. Попробуйте перезагрузить страницу
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rightholder/l-rightholder__block-addresses.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rightholder/l-rightholder__block-addresses.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rightholder/l-rightholder__block-contacts.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Контакты\\n (\";\noutput += runtime.suppressValue(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contacts\")),\"contacts_list\")), env.opts.autoescape);\noutput += \")\\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nif(!runtime.contextOrFrameLookup(context, frame, \"contacts_timeout_error\")) {\noutput += \"\\n \";\nif(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contacts\")),\"contacts_list\"))) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contacts\")),\"contacts_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \\n \";\n;\n}\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \\n \";\n;\n}\noutput += \"\\n \\n
Вид контактаКонтактПримечаниеОсновной
\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"type_name\")?runtime.memberLookup((t_4),\"type_name\"):\"-\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"value\")?runtime.memberLookup((t_4),\"value\"):\"-\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"note\")?runtime.memberLookup((t_4),\"note\"):\"-\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"is_current\") == 1?env.getFilter(\"safe\").call(context, \"\"):\"\"), env.opts.autoescape);\noutput += \"\\n \\n   \\n \\n
Не найдено записей
Ошибка получения данных. Попробуйте перезагрузить страницу
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rightholder/l-rightholder__block-contacts.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rightholder/l-rightholder__block-contacts.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rightholder/l-rightholder__block-requisites.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Банковские реквизиты\\n (\";\noutput += runtime.suppressValue(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"requisites\")),\"account_list\")), env.opts.autoescape);\noutput += \")\\n
\\n
\\n \";\nif(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"requisites\")),\"account_list\"))) {\noutput += \"\\n   \\n Все (\";\noutput += runtime.suppressValue(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"requisites\")),\"account_list\")), env.opts.autoescape);\noutput += \")\\n \";\n;\n}\noutput += \"\\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nif(!runtime.contextOrFrameLookup(context, frame, \"requisites_timeout_error\")) {\noutput += \"\\n \";\nif(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"requisites\")),\"account_list\"))) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"requisites\")),\"account_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \\n \";\n;\n}\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \\n \";\n;\n}\noutput += \"\\n \\n
БИК / SWIFTНаименование банкаСчетОсновнойСПо
\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"bic\")?runtime.memberLookup((t_4),\"bic\"):\"-\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"bank_name\")?runtime.memberLookup((t_4),\"bank_name\"):\"-\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"account\")?runtime.memberLookup((t_4),\"account\"):\"-\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"is_default\") == 1?env.getFilter(\"safe\").call(context, \"\"):\"\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_begin_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_begin_unixtime\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_end_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_end_unixtime\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n   \\n \\n
Не найдено записей
Ошибка получения данных. Попробуйте перезагрузить страницу
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rightholder/l-rightholder__block-requisites.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rightholder/l-rightholder__block-requisites.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rightholder/l-rightholder__block-employees.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n\\n
\\n Сотрудники\\n (\";\noutput += runtime.suppressValue(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"employees\")),\"staffs_list\")), env.opts.autoescape);\noutput += \")\\n
\\n
\\n \";\nif(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"employees\")),\"staffs_list\"))) {\noutput += \"\\n   \\n Все (\";\noutput += runtime.suppressValue(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"employees\")),\"staffs_list\")), env.opts.autoescape);\noutput += \")\\n \";\n;\n}\noutput += \"\\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nif(!runtime.contextOrFrameLookup(context, frame, \"employees_timeout_error\")) {\noutput += \"\\n \";\nif(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"employees\")),\"staffs_list\"))) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"employees\")),\"staffs_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \\n \";\n;\n}\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \\n \";\n;\n}\noutput += \"\\n \\n
ДолжностьФИОПраво подписиСПо
\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"post_name\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"name\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"is_signing\") == 1?env.getFilter(\"safe\").call(context, \"\"):\"\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_begin_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_begin_unixtime\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_end_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_end_unixtime\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n   \\n \\n
Не найдено записей
Ошибка получения данных. Попробуйте перезагрузить страницу
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rightholder/l-rightholder__block-employees.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rightholder/l-rightholder__block-employees.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rightholder/l-rightholder__block-taxes.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n\\n
\\n Ставки налогообложения\\n (\";\noutput += runtime.suppressValue(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"taxes\")),\"tax_list\")), env.opts.autoescape);\noutput += \")\\n
\\n
\\n \";\nif(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"taxes\")),\"tax_list\"))) {\noutput += \"\\n   \\n Все (\";\noutput += runtime.suppressValue(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"taxes\")),\"tax_list\")), env.opts.autoescape);\noutput += \")\\n \";\n;\n}\noutput += \"\\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nif(!runtime.contextOrFrameLookup(context, frame, \"taxes_timeout_error\")) {\noutput += \"\\n \";\nif(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"taxes\")),\"tax_list\"))) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"taxes\")),\"tax_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \\n \";\n;\n}\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \\n \";\n;\n}\noutput += \"\\n \\n
Вид налогаСтавкаСПо
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((t_4),\"tax\")),\"name\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"rate\") + \"%\", env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_begin_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_begin_unixtime\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_end_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_end_unixtime\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n   \\n \\n
Не найдено записей
Ошибка получения данных. Попробуйте перезагрузить страницу
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rightholder/l-rightholder__block-taxes.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rightholder/l-rightholder__block-taxes.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rightholder/l-rightholder__address-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"action_name\")),runtime.contextOrFrameLookup(context, frame, \"action\")), env.opts.autoescape);\noutput += \" адреса правообладателя\\n
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"name_inner\"), env.opts.autoescape);\noutput += \"\\n
\\n\\n \\n \\n\\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rightholder/l-rightholder__address-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rightholder/l-rightholder__address-modal.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rightholder/l-rightholder__tax-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"action_name\")),runtime.contextOrFrameLookup(context, frame, \"action\")), env.opts.autoescape);\noutput += \" ставки налогообложения правообладателя\\n
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"name_inner\"), env.opts.autoescape);\noutput += \"\\n
\\n\\n \\n \\n\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rightholder/l-rightholder__tax-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rightholder/l-rightholder__tax-modal.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rightholder/l-rightholder__employee-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n\\n
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"action_name\")),runtime.contextOrFrameLookup(context, frame, \"action\")), env.opts.autoescape);\noutput += \" сотрудника правообладателя\\n
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"name_inner\"), env.opts.autoescape);\noutput += \"\\n
\\n\\n \\n \\n\\n
\\n
\\n \\n\\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rightholder/l-rightholder__employee-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rightholder/l-rightholder__employee-modal.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rightholder/l-rightholder__document-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n\\n
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"action_name\")),runtime.contextOrFrameLookup(context, frame, \"action\")), env.opts.autoescape);\noutput += \" документа правообладателя\\n
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"name_inner\"), env.opts.autoescape);\noutput += \"\\n
\\n\\n \\n \\n\\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n\\n \\n\\n
\\n \\n \\n
\\n\\n \\n\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rightholder/l-rightholder__document-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rightholder/l-rightholder__document-modal.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rightholder/l-rightholder__contact-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"action_name\")),runtime.contextOrFrameLookup(context, frame, \"action\")), env.opts.autoescape);\noutput += \" контакта правообладателя\\n
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"name_inner\"), env.opts.autoescape);\noutput += \"\\n
\\n\\n
\\n\\n \\n \\n\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n\\n \\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rightholder/l-rightholder__contact-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rightholder/l-rightholder__contact-modal.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rightholder/l-rightholder__requisites-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"action_name\")),runtime.contextOrFrameLookup(context, frame, \"action\")), env.opts.autoescape);\noutput += \" банковских реквизитов\\n
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"name_inner\"), env.opts.autoescape);\noutput += \"\\n
\\n\\n
\\n\\n \\n \\n\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n\\n \\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rightholder/l-rightholder__requisites-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rightholder/l-rightholder__requisites-modal.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rightholder/l-rightholder__profile-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nvar t_1;\nt_1 = 1;\nframe.set(\"COMPANY\", t_1, true);\nif(frame.topLevel) {\ncontext.setVariable(\"COMPANY\", t_1);\n}\nif(frame.topLevel) {\ncontext.addExport(\"COMPANY\", t_1);\n}\noutput += \"\\n\";\nvar t_2;\nt_2 = 2;\nframe.set(\"BUSINESSMAN\", t_2, true);\nif(frame.topLevel) {\ncontext.setVariable(\"BUSINESSMAN\", t_2);\n}\nif(frame.topLevel) {\ncontext.addExport(\"BUSINESSMAN\", t_2);\n}\noutput += \"\\n\";\nvar t_3;\nt_3 = 3;\nframe.set(\"PERSON\", t_3, true);\nif(frame.topLevel) {\ncontext.setVariable(\"PERSON\", t_3);\n}\nif(frame.topLevel) {\ncontext.addExport(\"PERSON\", t_3);\n}\noutput += \"\\n\";\nvar t_4;\nt_4 = runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"type\");\nframe.set(\"contragent_type\", t_4, true);\nif(frame.topLevel) {\ncontext.setVariable(\"contragent_type\", t_4);\n}\nif(frame.topLevel) {\ncontext.addExport(\"contragent_type\", t_4);\n}\noutput += \"\\n
\\n
\\n Редактирование правообладателя\\n
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"name_inner\"), env.opts.autoescape);\noutput += \"\\n
\\n\\n \\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"BUSINESSMAN\") || runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"PERSON\")) {\noutput += \"\\n
\\n \\n \\n
\\n \";\n;\n}\noutput += \"\\n\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"COMPANY\")) {\noutput += \"\\n
\\n \\n \\n
\\n \";\n;\n}\noutput += \"\\n
\\n\\n
\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"BUSINESSMAN\") || runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"PERSON\")) {\noutput += \"\\n
\\n \\n \\n
\\n \";\n;\n}\noutput += \"\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"BUSINESSMAN\") || runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"PERSON\")) {\noutput += \"\\n
\\n \\n \\n
\\n \";\n;\n}\noutput += \"\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"BUSINESSMAN\") || runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"PERSON\")) {\noutput += \"\\n
\\n \\n \\n
\\n \";\n;\n}\noutput += \"\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"COMPANY\")) {\noutput += \"\\n
\\n \\n \\n
\\n \";\n;\n}\noutput += \"\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"COMPANY\")) {\noutput += \"\\n
\\n \\n \\n
\\n \";\n;\n}\noutput += \"\\n
\\n\\n
\\n
\\n \\n \\n
\\n\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"BUSINESSMAN\") || runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"PERSON\")) {\noutput += \"\\n
\\n \\n \\n
\\n \";\n;\n}\noutput += \"\\n \\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"BUSINESSMAN\") || runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"PERSON\")) {\noutput += \"\\n
\\n \\n \\n
\\n \";\n;\n}\noutput += \"\\n\\n
\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"BUSINESSMAN\") || runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"PERSON\")) {\noutput += \"\\n \\n \\n \\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \";\n;\n}\noutput += \"\\n
\\n\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"PERSON\")) {\noutput += \"\\n
\\n \\n \\n
\\n \";\n;\n}\noutput += \"\\n
\\n \\n \\n
\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"COMPANY\")) {\noutput += \"\\n
\\n \\n \\n
\\n \";\n;\n}\noutput += \"\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"COMPANY\") || runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"BUSINESSMAN\")) {\noutput += \"\\n
\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"type\") == 1) {\noutput += \"\\n \\n \\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholder\")),\"contragent\")),\"type\") == 2) {\noutput += \"\\n \\n \\n \";\n;\n}\n;\n}\noutput += \"\\n
\\n \";\n;\n}\noutput += \"\\n
\\n \\n \\n
\\n
\\n\\n
\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"COMPANY\") || runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"BUSINESSMAN\")) {\noutput += \"\\n
\\n \\n \\n
\\n \";\n;\n}\noutput += \"\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"COMPANY\") || runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"BUSINESSMAN\")) {\noutput += \"\\n
\\n \\n \\n
\\n \";\n;\n}\noutput += \"\\n
\\n\\n
\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"COMPANY\") || runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"BUSINESSMAN\")) {\noutput += \"\\n
\\n \\n \\n
\\n \";\n;\n}\noutput += \"\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"COMPANY\") || runtime.contextOrFrameLookup(context, frame, \"contragent_type\") == runtime.contextOrFrameLookup(context, frame, \"BUSINESSMAN\")) {\noutput += \"\\n
\\n \\n \\n
\\n \";\n;\n}\noutput += \"\\n
\\n\\n \\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rightholder/l-rightholder__profile-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rightholder/l-rightholder__profile-modal.html","import template from '../templates/l-agreement/l-agreement.html'\nimport errormodal_template from '../templates/b-error-modal/b-error-modal.html'\nimport Controller from '../controller'\nimport Router from 'blocko/router'\nimport render from 'blocko/functions/render'\nimport {post, get, parse_json, get_widget} from 'blocko/helpers'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\n\n\nclass Agreement extends Controller {\n\n static get route() {\n return '/agreements//';\n }\n\n constructor(params) {\n super();\n\n super.prepare_context({\n contract: {\n path: '/api/red/contract/get',\n data: {\n id: params.agreement_id,\n },\n handler: response => {\n if (!response.success) {\n this.abort(404);\n }else{\n this._check_is_denied_to_edit_rightholder(response.data.contract.id)\n }\n }\n },\n\n contract_type: '/api/red/thesaurus/contract/type/list',\n user: '/api/red/user/get'\n });\n\n this.params = params;\n\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n status_selector: document.querySelector('.l-agreement__status-selector'),\n title: document.querySelector('.spoiler-title'),\n icon: document.querySelector('.l-agreement__block-icon'),\n removal_button: document.querySelector('.l-agreement__removal-modal'),\n form_suggest: document.querySelector('.l-agreement__form-suggest'),\n contragent_id_field: document.querySelector('.l-agreement__contragent_id_field'),\n contract_num_button: document.querySelector('.l-agreement__contract-num-get'),\n rights_select: document.querySelector('.l-agreement__rights-select'),\n contract_num_input: document.querySelector('.l-agreement__contract-num'),\n error: undefined\n };\n\n this.widgets = {\n edit_modal: get_widget(document.querySelector('.l-agreement__edit-modal'), 'bModal'),\n form_b_input: get_widget(this.dom.form_suggest, 'bInput'),\n ajax_form: get_widget(document.querySelector('.i-ajax-form'), 'iAjaxForm'),\n confirm_change_status: get_widget(this.dom.status_selector, 'bConfirmModal'),\n confirm_remove_contract: undefined\n };\n\n if (this.dom.removal_button) {\n this.widgets.confirm_remove_contract = get_widget(this.dom.removal_button, 'bConfirmModal');\n }\n\n /**\n * Список id контрагентов для модалки \"Добавление договора\"\n * @type {Array}\n */\n this.contragent_id_list = [];\n\n if (this.get_param('contract')) {\n this.contract_num = this.get_param('contract').contract.num;\n }\n\n /**\n * Флаг заполнения поля имени контрагента\n * @type {boolean}\n */\n this.contragent_selected = true;\n\n this.default_status = this.dom.status_selector.value;\n\n this._bind();\n }\n\n\n _bind() {\n this.dom.status_selector.addEventListener('change', event => {\n let status_name = event.target.selectedOptions[0].text;\n this.widgets.confirm_change_status.change_content(\n `Вы действительно хотите перевести договор №${this.contract_num} в статус \"${status_name}\" ?`\n );\n });\n this.widgets.confirm_change_status.attach('confirm', this._status_change.bind(this));\n this.widgets.confirm_change_status.attach('cancel', () => {\n this.dom.status_selector.value = this.default_status;\n });\n\n if (this.dom.removal_button) {\n this.dom.removal_button.addEventListener('click', () => {\n this.widgets.confirm_remove_contract.change_content(`Вы действительно хотите удалить договор №${this.contract_num}?`);\n });\n this.widgets.confirm_remove_contract.attach('confirm', this._delete_contract.bind(this));\n }\n\n this.dom.title.addEventListener('click', this._toggle_content.bind(this));\n this.dom.contract_num_button.addEventListener('click', this._get_contract_num.bind(this));\n this.dom.rights_select.addEventListener('change', (event) => {\n // Грязный хак, потому что по-другому не сделать\n document.querySelector('.l-agreement__rights-hidden').value = Array.from(event.target.selectedOptions).map((option => option.value)).join(';')\n\n })\n this.widgets.form_b_input.node.addEventListener('input', this._event_suggest_input.bind(this));\n this.widgets.form_b_input.attach('suggest_click', (index, event) => {\n this._event_suggest_click(index, event);\n });\n this.widgets.ajax_form.attach('submit', this._modal_submit_check_id.bind(this));\n }\n\n\n /**\n * Смена статуса контракта\n * @private\n */\n _status_change() {\n post('/api/red/contract/status', {\n id: this.params.agreement_id,\n status: this.dom.status_selector.value\n }, response => {\n response = parse_json(response);\n\n if (response.success) {\n location.reload();\n } else {\n this.dom.status_selector.value = this.default_status;\n this._error_modal(this.widgets.confirm_change_status.dom.confirm_button, response.errmess);\n }\n });\n }\n\n\n /**\n * Удаление договора\n * @private\n */\n _delete_contract() {\n post('/api/red/contract/del', {id: this.params.agreement_id}, response => {\n response = parse_json(response);\n if (response.success) {\n this.url_for('Agreements');\n } else {\n this._error_modal(this.widgets.confirm_remove_contract.dom.confirm_button, response.errmess);\n }\n });\n }\n\n\n /**\n * Эвент ввода в саджест формы добаления договора\n * @param event\n * @private\n */\n _event_suggest_input(event) {\n if (document.activeElement != this.widgets.form_b_input.node) {\n return;\n }\n this.contragent_selected = false;\n let value = event.currentTarget.value;\n\n clearTimeout(this.search_timer);\n if (value.length >= 2) {\n this.search_timer = setTimeout(function () {\n post('/api/red/contragent/list', {'name_inner_like': value}, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n this.contragent_id_list = [];\n this.widgets.form_b_input.create_suggest(\n response.data.contragent_list.map(item => {\n this.contragent_id_list.push(item.id);\n return this._type_mask(item);\n })\n , 'suggest__box');\n }\n });\n }.bind(this), 300);\n }\n }\n\n\n /**\n * Эвент выбора договора из саджест списка. Установка id контрагента.\n * @param index\n * @private\n */\n _event_suggest_click(index) {\n this.contragent_selected = true;\n this.dom.contragent_id_field.value = this.contragent_id_list[index];\n }\n\n\n /**\n * Отрисовывает окно ошибки\n * @param button\n * @param message\n * @private\n */\n _error_modal(button, message) {\n let modal = get_widget(button, 'iModal');\n\n if (!modal) {\n modal = new iModal(errormodal_template, {\n node_link: button,\n strict_hide: true\n });\n\n modal.dom.close_button.classList.add('b-modal__close-error');\n }\n\n modal.change_body(render(errormodal_template, {message: message}));\n modal.show();\n }\n\n\n /**\n * Останавливает submit при отсутсвии значения в поле contragent_id модального окна\n * @param widget\n * @private\n */\n _modal_submit_check_id(widget) {\n // checkbox fix\n let checkbox = document.querySelector('.l-agreement__filter-lkp-checkbox');\n\n if (checkbox) {\n checkbox.value = checkbox.checked ? 1 : 0;\n }\n\n let id_field = widget.node.querySelector('.l-agreement__contragent_id_field');\n\n if (!id_field.value || !this.contragent_selected) {\n widget.stop_submit();\n widget.set_error('Правообладатель не найден');\n } else {\n widget.start_submit();\n widget.clear_error();\n }\n }\n\n\n /**\n * Показать/скрыть блок с контентом\n * @private\n */\n _toggle_content() {\n document.querySelector('.l-agreement__box').classList.toggle('hidden');\n this.dom.icon.classList.toggle('i-icon_arrow-down');\n this.dom.icon.classList.toggle('i-icon_arrow-right');\n }\n\n\n /**\n * Получение номера контракта\n * @private\n */\n _get_contract_num() {\n if (!this.dom.contract_num_input.value) {\n post('/api/red/contract/num/add', {}, response => {\n response = parse_json(response);\n if (response.success == 1) {\n this.dom.contract_num_input.value = response.data.contract.contract_num;\n }\n });\n }\n }\n\n\n _check_is_denied_to_edit_rightholder(id) {\n get('/api/red/contract/check', {\n id\n }, response => {\n response = parse_json(response);\n if (response.success == 1) {\n const disabled = !response.data.check\n if(disabled){\n [...document.getElementsByClassName('b-disablable')].forEach(element => element.setAttribute('disabled', true))\n }\n }\n });\n }\n\n\n /**\n * Принимает объект правообладаетя. Возвращает имя правообладателя с маской его типа\n * @param object\n * @returns {*}\n * @private\n */\n _type_mask(object) {\n let types = {1: '(ЮЛ)', 2: '(ИП)', 3: '(ФЛ)'};\n return [\n object.name_inner,\n types[object.type] || ''\n ].join(' ');\n }\n}\n\nRouter.add_page(Agreement);\n\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/agreement.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"../l-agreement/l-agreement__block.html\"] = require( \"../l-agreement/l-agreement__block.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement/l-agreement.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-agreement/l-agreement.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n Договор № \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"num\"), env.opts.autoescape);\noutput += \"\\n
\\n
\\n Перейти в:\\n Каталог\\n Права\\n
\\n
\\n
\\n \";\nenv.getTemplate(\"../l-agreement/l-agreement__block.html\", false, \"../templates/l-agreement/l-agreement.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n
\\n
\\n\";\ncb(null, output);\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement/l-agreement.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement/l-agreement.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"./l-agreement__modal-edit.html\"] = require( \"./l-agreement__modal-edit.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement/l-agreement__block.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n \\n Реквизиты договора\\n
\\n
\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"status\") == 1 && runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"user\")),\"user\")),\"is_admin\")) {\noutput += \"\\n \\n    \\n \";\n;\n}\noutput += \"\\n Редактировать\\n \\n
\\n\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n s\\n \\n
\\n Тип договора\\n \\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"type_name\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"type_name\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n -\\n \";\n;\n}\noutput += \"\\n \\n Дата договора\\n \\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"date\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"date\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n -\\n \";\n;\n}\noutput += \"\\n
\\n Правообладатель\\n \\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"contragent_name_inner\") && runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"contragent_name_inner\") != \"NULL\") {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"contragent_name_inner\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n -\\n \";\n;\n}\noutput += \"\\n \\n Дата начала действия\\n \\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"date_begin\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"date_begin\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n -\\n \";\n;\n}\noutput += \"\\n
\\n Номер договора\\n \\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"num\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"num\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n -\\n \";\n;\n}\noutput += \"\\n \\n Дата окончания действия\\n \\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"date_end\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"date_end\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n -\\n \";\n;\n}\noutput += \"\\n
\\n Статус\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \\n Причина расторжения договора\\n \\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"reason_end\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"reason_end\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n -\\n \";\n;\n}\noutput += \"\\n
\\n Скрывать в ЛКП\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"filter_lkp\")?\"Да\":\"Нет\"), env.opts.autoescape);\noutput += \"\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"error\")) {\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"error\"), env.opts.autoescape);\n;\n}\noutput += \"\\n Примечание\\n \\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"note\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"note\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n -\\n \";\n;\n}\noutput += \"\\n
\\n Права\\n \\n \";\nframe = frame.push();\nvar t_7 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"rights\");\nif(t_7) {var t_5;\nif(runtime.isArray(t_7)) {\nvar t_6 = t_7.length;\nfor(t_5=0; t_5 < t_7.length; t_5++) {\nvar t_8 = t_7[t_5][0]\nframe.set(\"rightShort\", t_7[t_5][0]);\nvar t_9 = t_7[t_5][1]\nframe.set(\"right\", t_7[t_5][1]);\nframe.set(\"loop.index\", t_5 + 1);\nframe.set(\"loop.index0\", t_5);\nframe.set(\"loop.revindex\", t_6 - t_5);\nframe.set(\"loop.revindex0\", t_6 - t_5 - 1);\nframe.set(\"loop.first\", t_5 === 0);\nframe.set(\"loop.last\", t_5 === t_6 - 1);\nframe.set(\"loop.length\", t_6);\noutput += \"\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"loop\")),\"last\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_9),0), env.opts.autoescape);\noutput += \" (\";\noutput += runtime.suppressValue(t_8, env.opts.autoescape);\noutput += \")\\n \";\n;\n}\nelse {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_9),0), env.opts.autoescape);\noutput += \" (\";\noutput += runtime.suppressValue(t_8, env.opts.autoescape);\noutput += \"),\\n \";\n;\n}\noutput += \"\\n \";\n;\n}\n} else {\nt_5 = -1;\nvar t_6 = runtime.keys(t_7).length;\nfor(var t_10 in t_7) {\nt_5++;\nvar t_11 = t_7[t_10];\nframe.set(\"rightShort\", t_10);\nframe.set(\"right\", t_11);\nframe.set(\"loop.index\", t_5 + 1);\nframe.set(\"loop.index0\", t_5);\nframe.set(\"loop.revindex\", t_6 - t_5);\nframe.set(\"loop.revindex0\", t_6 - t_5 - 1);\nframe.set(\"loop.first\", t_5 === 0);\nframe.set(\"loop.last\", t_5 === t_6 - 1);\nframe.set(\"loop.length\", t_6);\noutput += \"\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"loop\")),\"last\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_11),0), env.opts.autoescape);\noutput += \" (\";\noutput += runtime.suppressValue(t_10, env.opts.autoescape);\noutput += \")\\n \";\n;\n}\nelse {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_11),0), env.opts.autoescape);\noutput += \" (\";\noutput += runtime.suppressValue(t_10, env.opts.autoescape);\noutput += \"),\\n \";\n;\n}\noutput += \"\\n \";\n;\n}\n}\n}\nframe = frame.pop();\noutput += \"\\n
\\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement/l-agreement__block.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement/l-agreement__block.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"blocko/widgets/b-input/b-input.html\"] = require( \"blocko/widgets/b-input/b-input.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement/l-agreement__modal-edit.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n\\n
\\n Изменение договора правообладателя\\n
\\n\\n \\n \\n\\n \\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \";\nenv.getTemplate(\"blocko/widgets/b-input/b-input.html\", false, \"../templates/l-agreement/l-agreement__modal-edit.html\", false, function(t_6,t_5) {\nif(t_6) { cb(t_6); return; }\nt_5.getExported(function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nif(t_5.hasOwnProperty(\"bInput\")) {\nvar t_8 = t_5.bInput;\n} else {\ncb(new Error(\"cannot import 'bInput'\")); return;\n}\ncontext.setVariable(\"bInput\", t_8);\noutput += \"\\n \";\noutput += runtime.suppressValue((lineno = 39, colno = 19, runtime.callWrap(t_8, \"bInput\", context, [{\"class\": \"l-agreement__form-suggest b-disablable\",\"data-name\": \"Правообладатель\",\"autocomplete\": \"off\",\"validate\": \"empty\",\"value\": runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"contragent_name_inner\"),\"data-strict\": \"true\"}])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n\\n \\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement/l-agreement__modal-edit.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement/l-agreement__modal-edit.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/blocko/widgets/b-input/b-input.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nvar macro_t_1 = runtime.makeMacro(\n[\"attr\", \"description\"], \n[\"label\"], \nfunction (l_attr, l_description, kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nframe.set(\"attr\", l_attr);\nframe.set(\"description\", l_description);\nframe.set(\"label\", kwargs.hasOwnProperty(\"label\") ? kwargs[\"label\"] : \"\");\nvar t_2 = \"\";t_2 += \"\\n\\n \";\nvar t_3;\nt_3 = (lineno = 6, colno = 21, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"unique\"), \"unique\", context, []));\nframe.set(\"uid\", t_3, true);\nif(frame.topLevel) {\ncontext.setVariable(\"uid\", t_3);\n}\nif(frame.topLevel) {\ncontext.addExport(\"uid\", t_3);\n}\nt_2 += \"\\n \";\nvar t_4;\nt_4 = (lineno = 7, colno = 23, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"update\"), \"update\", context, [{\"class\": [],\"type\": \"text\",\"id\": runtime.contextOrFrameLookup(context, frame, \"uid\")},l_attr]));\nframe.set(\"_attr\", t_4, true);\nif(frame.topLevel) {\ncontext.setVariable(\"_attr\", t_4);\n}\nt_2 += \"\\n\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"label\")) {\nt_2 += \"\\n \\n \";\n;\n}\nt_2 += \"\\n\\n \\n\\n\";\n;\nframe = frame.pop();\nreturn new runtime.SafeString(t_2);\n});\ncontext.addExport(\"bInput\");\ncontext.setVariable(\"bInput\", macro_t_1);\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/blocko/widgets/b-input/b-input.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/b-input/b-input.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-error-modal/b-error-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n Произошла ошибка\\n
\\n
\\n \";\noutput += runtime.suppressValue(env.getFilter(\"safe\").call(context, runtime.contextOrFrameLookup(context, frame, \"message\")), env.opts.autoescape);\noutput += \"\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-error-modal/b-error-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-error-modal/b-error-modal.html","import template from '../templates/l-files/l-files.html'\nimport modal_template from '../templates/l-files/l-files_modal.html'\nimport Controller from '../controller'\nimport Router from 'blocko/router'\nimport {get_widget, attach_event} from 'blocko/helpers'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\n\nconst max_file_size = 5000000000;\n\nclass Files extends Controller {\n\n static get route() {\n return '/rightholders//files/';\n }\n\n constructor(params) {\n super();\n\n super.add('active_menu', '/');\n\n super.prepare_context({\n rightholder: {\n path: '/api/red/contragent/get',\n data: params,\n handler: response => {\n if (!response.success) {\n this.abort(404);\n }\n }\n },\n files: {\n path: '/api/red/contragent/file/list',\n data: {contragent_id: params.id},\n error: (data, response_text, xhr) => {\n if (xhr.status === 504) {\n this.add('timeout_error', 1);\n }\n }\n }\n });\n\n this.params = params;\n\n super.render_page(template);\n }\n\n init() {\n\n this.dom = {\n add_file_button: document.querySelector('.l-files__add-file'),\n edit_file_button: document.querySelectorAll('.l-file__edit-button')\n };\n\n this._bind();\n }\n\n _bind() {\n this.dom.add_file_button.addEventListener('click', this._create_modal.bind(this, 'add'));\n if (this.dom.edit_file_button[0]) {\n attach_event(this.dom.edit_file_button, 'click', this._create_modal.bind(this, 'edit'));\n }\n }\n\n _create_modal(action, event) {\n let modal = get_widget(event.currentTarget, 'iModal');\n let index = event.currentTarget.getAttribute('data-index');\n\n if(!modal) {\n modal = new iModal(this.render(modal_template, {action: action, index: index}), {\n node_link: event.currentTarget,\n strict_hide: true\n });\n }\n\n modal.show();\n\n modal.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n modal.hide();\n });\n\n modal.attach('hide', () => {\n let form = get_widget(modal.dom.box.querySelector('.i-ajax-form'), 'iForm');\n let i_ajax_form = get_widget(modal.dom.box.querySelector('.i-ajax-form'), 'iAjaxForm');\n form.reset();\n form.clear_error_message();\n i_ajax_form.clear_error();\n });\n\n this.modal_elemets = {\n form: modal.dom.box.querySelector('form'),\n input_file: modal.dom.box.querySelector('.l-files__input-file'),\n input_original_name: modal.dom.box.querySelector('.l-files__file-original-name'),\n input_file_name: modal.dom.box.querySelector('.l-files__file-name'),\n error: modal.dom.box.querySelector('.i-ajax-form__error')\n };\n\n if (this.modal_elemets.form) {\n\n if(this.modal_elemets.input_file) {\n this.modal_elemets.input_file.addEventListener('change', event => {\n if(event.target.files.length) {\n let file = event.target.files[0];\n\n if(file.size > max_file_size) {\n this.modal_elemets.error.innerText = 'Размер файла слишком большой';\n }\n\n this.modal_elemets.input_original_name.value = file.name;\n this.modal_elemets.input_file_name.value = file.name.split('.')[0];\n }\n });\n }\n }\n }\n}\n\nRouter.add_page(Files);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/files.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-files/l-files.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-files/l-files.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n \\n
\\n Перейти в:\\n Договоры\\n Файлы\\n
\\n
\\n
Файлы
\\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nif(!runtime.contextOrFrameLookup(context, frame, \"timeout_error\")) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_7 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"files\")),\"file_list\");\nif(t_7) {var t_6 = t_7.length;\nfor(var t_5=0; t_5 < t_7.length; t_5++) {\nvar t_8 = t_7[t_5];\nframe.set(\"item\", t_8);\nframe.set(\"loop.index\", t_5 + 1);\nframe.set(\"loop.index0\", t_5);\nframe.set(\"loop.revindex\", t_6 - t_5);\nframe.set(\"loop.revindex0\", t_6 - t_5 - 1);\nframe.set(\"loop.first\", t_5 === 0);\nframe.set(\"loop.last\", t_5 === t_6 - 1);\nframe.set(\"loop.length\", t_6);\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \";\n;\n}\n}\nif (!t_6) {\noutput += \"\\n \\n \\n \\n \";\n}\nframe = frame.pop();\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \\n \";\n;\n}\noutput += \"\\n \\n
\\n
\\n Название\\n
\\n
\\n
\\n Тип\\n
\\n
\\n
\\n Имя файла\\n
\\n
\\n
\\n Загружен\\n
\\n
\\n
\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((t_8),\"name\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((t_8),\"type_name\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((t_8),\"filename\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_8),\"ctime_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_8),\"ctime_unixtime\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \\n
Не найдено записей
Ошибка получения данных. Попробуйте перезагрузить страницу
\\n
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-files/l-files.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-files/l-files.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-files/l-files_modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n \";\noutput += runtime.suppressValue((runtime.contextOrFrameLookup(context, frame, \"action\") == \"edit\"?\"Редактирование\":\"Добавление\"), env.opts.autoescape);\noutput += \" файла правообладателя\\n
\\n \\n \\n
\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"action\") == \"edit\") {\noutput += \"\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n \";\n;\n}\nelse {\noutput += \"\\n
\\n \\n \\n
\\n
\\n \\n
\\n \";\n;\n}\noutput += \"\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-files/l-files_modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-files/l-files_modal.html","import template from '../templates/l-objects-rights/l-objects-rights.html'\nimport table_content from '../templates/l-objects-rights/l-objects-rights__table-content.html'\nimport template_modal from '../templates/l-objects-rights/l-object-rights__modal-actualize.html'\nimport template_error_modal from '../templates/b-error-modal/b-error-modal.html'\nimport Controller from '../controller'\nimport Router from 'blocko/router'\nimport {get, post, get_widget, parse_json, closest, each} from 'blocko/helpers'\nimport iTab from 'blocko/widgets/i-tab/i-tab'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\n\nconst TABLE_ROW_COUNT = 100;\nconst DEFAULT_PAGE = {page: 1};\nconst DEFAULT_FILTER = {\n status: '',\n x_name: '',\n x_performers: '',\n x_publisher: '',\n x_author_music: '',\n x_author_text: '',\n x_album_name: '',\n x_isrc: ''\n};\nconst DEFAULT_QUERY = {\n order_by: 'name:asc',\n rows: TABLE_ROW_COUNT,\n page: 1\n};\nconst TASK_INFO = {\n task_id: '',\n task_completed: false,\n}\n\nclass ObjectRights extends Controller {\n\n static get route() {\n return '/objects_rights/';\n }\n\n constructor(params, query) {\n super();\n\n /**\n * Объект параметров GET-запроса\n * @type {{}}\n */\n this.query = Object.assign({}, DEFAULT_QUERY, query);\n\n super.prepare_context({\n objects_list: {\n path: '/api/red/track/list',\n data: this.query,\n error: (data, response_text, xhr) => {\n if (xhr.status === 504) {\n this.add('timeout_error', 1);\n }\n }\n }\n });\n super.add('filter_data', this.query);\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n content: document.querySelector('.l-objects-rights__content'),\n table: document.querySelector('.l-objects-rights__table'),\n table_wrap: document.querySelector('.l-objects-rights__table-wrap'),\n hide_all: document.querySelector('.i-icon_collapse-all'),\n actualize_button: document.querySelector('.actualize_button')\n };\n\n this.widgets = {\n b_search: get_widget(document.querySelector('.l-objects-rights__search'), 'bSearch'),\n b_filter: get_widget(document.querySelector('.l-objects-rights__filter'), 'bDropdownFilter'),\n sort: get_widget(document.querySelector('.b-table__row'), 'bTableSort'),\n modal: get_widget(document.querySelector('.l-objects-rights__modal-add'), 'bModal')\n };\n\n this.search_timer = 0;\n\n /**\n * Флаг запроса на дорисовку контента\n * @type {boolean}\n */\n if (this.get_param('objects_list')) {\n this.stop_render = this.get_param('objects_list').item_list.length !== TABLE_ROW_COUNT;\n } else {\n this.stop_render = undefined;\n }\n\n /**\n * Инициализация фильтра по GET параметрам\n */\n this.widgets.b_filter.form_submit(null, false);\n this._calc_table_wrap();\n\n this.search_request = null;\n\n this._bind();\n this._init_tab();\n this._set_sort_icon();\n }\n\n _bind() {\n this.widgets.b_search.attach('input', this._event_search.bind(this));\n this.widgets.b_search.attach('click', this._clear_search.bind(this));\n this.widgets.b_filter.attach('submit', this._event_filter.bind(this));\n this.widgets.b_filter.attach('change', this._event_filter_close.bind(this));\n this.widgets.b_filter.attach('click', this._event_filter_clear.bind(this));\n this.widgets.sort.attach('sort_click', this._event_sort.bind(this));\n this.widgets.modal.modal.attach('hide', this._event_modal_hide.bind(this));\n this.dom.table_wrap.addEventListener('scroll', () => {\n this._window_scroll_event();\n });\n this.dom.actualize_button.addEventListener('click', e => {\n this._actualize_action();\n e.stopPropagation();\n })\n }\n\n /**\n * Запуск актуализации статусов\n * @private\n */\n _actualize_action() {\n post('/api/red/track/actual/start', {}, response => {\n response = parse_json(response);\n if(response.success === 1) {\n TASK_INFO.task_id = response.data.task.id;\n TASK_INFO.task_completed = false;\n let template = this.render(template_modal, {\n data: {\n process: true\n }\n });\n let modal = new iModal(template, {\n strict_hide: true\n })\n modal.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n modal.show();\n const checkTask = setInterval(function () {\n if(TASK_INFO.task_completed) {\n clearInterval(checkTask);\n return;\n }\n get('/api/red/track/actual/get', {\n task_id: TASK_INFO.task_id\n }, response => {\n response = parse_json(response);\n let compare_result = response.data.task.json_result;\n if(compare_result.success && compare_result.success === 1) {\n TASK_INFO.task_completed = true;\n let message = `Обработано ${compare_result.count} строк.`\n modal.dom.box.querySelector('.i-modal__close').classList.remove('hidden');\n modal.change_body(this.render(template_modal, {\n data: {\n process: false,\n message\n }\n }))\n modal.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n modal.hide();\n })\n }\n })\n }.bind(this), 3000);\n }\n },() => {\n let error_template = this.render(template_error_modal, {message: 'При постановке задачи возника ошибка'});\n let error_modal = new iModal(error_template, {});\n error_modal.show();\n })\n }\n\n /**\n * Установка иконок сортировки в соответвии с GET-параметрами\n * @private\n */\n _set_sort_icon() {\n if (this.query.order_by) {\n let name = this.query.order_by.split(':')[0];\n let type = this.query.order_by.split(':')[1];\n this.widgets.sort.manual_sort(name, type);\n }\n }\n\n\n /**\n * Эвент фильтрции данных\n * @private\n */\n _event_filter(widget) {\n Object.assign(this.query, widget.form.dict, DEFAULT_PAGE);\n this.url_for('ObjectRights', {}, this.query);\n }\n\n\n /**\n * Эвент сброса одного фильтра\n * @param widget\n * @param event\n * @private\n */\n _event_filter_close(widget, event) {\n delete this.query[event.currentTarget.__widget__.name];\n Object.assign(this.query, DEFAULT_PAGE);\n\n this.url_for('ObjectRights', {}, this.query);\n }\n\n\n /**\n * Эвент сброса всех фильтров\n * @private\n */\n _event_filter_clear() {\n Object.assign(this.query, DEFAULT_FILTER, DEFAULT_PAGE);\n this.url_for('ObjectRights', {}, this.query);\n }\n\n\n /**\n * Эвент поиска по номеру договора\n * @param widget\n * @private\n */\n _event_search(widget) {\n let value = widget.dom.input.value;\n Object.assign(this.query, {'search': value}, DEFAULT_PAGE);\n\n if (!value) {\n delete this.query.search;\n }\n\n if (this.search_request) {\n this.search_request.abort();\n }\n\n clearTimeout(this.search_timer);\n\n this.search_timer = setTimeout(function () {\n this.search_request = post('/api/red/track/list', this.query, response => {\n response = parse_json(response);\n this.stop_render = response.data.item_list.length < TABLE_ROW_COUNT;\n this.dom.content.innerHTML = this.render(table_content, {objects_list: response.data, timeout_error: 0});\n this._init_tab();\n }, error => {\n this.dom.content.innerHTML = this.render(table_content, {timeout_error: 1});\n this._init_tab();\n });\n }.bind(this), 400);\n }\n\n\n /**\n * Сброс поля поиска\n * @private\n */\n _clear_search() {\n delete this.query.search;\n Object.assign(this.query, DEFAULT_PAGE);\n this.url_for('ObjectRights', {}, this.query);\n }\n\n\n /**\n * Сортировка\n * @param widget\n * @private\n */\n _event_sort(widget) {\n Object.assign(this.query, {'order_by': widget.order_by}, DEFAULT_PAGE);\n this.url_for('ObjectRights', {}, this.query);\n }\n\n\n /**\n * По закрытию модального окна сбрасывает форму на дефолтное значение и убирает ошибки валидации\n * @private\n */\n _event_modal_hide() {\n let form_widget = get_widget(this.widgets.modal.modal.dom.box.querySelector('.i-ajax-form'), 'iForm');\n let i_ajax_form = get_widget(this.widgets.modal.modal.dom.box.querySelector('.i-ajax-form'), 'iAjaxForm');\n form_widget.reset();\n form_widget.clear_error_message();\n i_ajax_form.clear_error();\n }\n\n\n /**\n * Эвент скрола страницы\n * @private\n */\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n /**\n * Дорисовка контента таблицы при скролле\n * @private\n */\n _next_page() {\n if (this.stop_render) {\n return;\n }\n\n this.stop_render = true;\n this.query.page = parseInt(this.query.page) + 1;\n\n post('/api/red/track/list', this.query, response => {\n response = parse_json(response);\n this.dom.content.insertAdjacentHTML('beforeEnd', this.render(table_content, {objects_list: response.data, timeout_error: 0}));\n this._init_tab();\n\n if (response.data.item_list.length === TABLE_ROW_COUNT) {\n this.stop_render = false;\n }\n }, error => {\n this.dom.content.insertAdjacentHTML('beforeEnd', this.render(table_content, {timeout_error: 1}));\n this._init_tab();\n });\n }\n\n /**\n * Инициализация iTab для таблицы с контентом\n * @private\n */\n _init_tab() {\n let buttons = document.querySelectorAll('.i-icon_collapse-one:not([data-initiated])');\n let boxes = document.querySelectorAll('.b-table__wrap-row-content:not([data-initiated])');\n\n this.tabs = new iTab({\n buttons, boxes,\n button_active_class: 'i-icon_collapse-one_active',\n active: null,\n is_toggle: true,\n is_multiple: true\n });\n\n this.tabs.attach('CHANGE', event => {\n if (event.active >= 0) {\n let buttons_list = document.querySelectorAll('.i-icon_collapse-one');\n let box_list = document.querySelectorAll('.b-table__wrap-row-content');\n let current_button = buttons_list[event.active];\n let button_parent = closest(current_button, '.b-table__wrap-row-title');\n\n button_parent.classList.toggle('b-table__wrap-row-title_active');\n\n this.dom.hide_all.addEventListener('click', event => {\n each(box_list, (item, index) => {\n buttons_list[index].classList.remove('i-icon_collapse-one_active');\n closest(buttons_list[index], '.b-table__wrap-row-title').classList.remove('b-table__wrap-row-title_active');\n item.classList.add('hidden');\n });\n });\n }\n });\n\n const setInitiated = element => element.setAttribute('data-initiated', true);\n\n each(buttons, setInitiated);\n each(boxes, setInitiated);\n }\n\n\n /**\n * Пересчет высоты таблицы в зависимости от фильтра\n * @private\n */\n _calc_table_wrap() {\n if (this.widgets.b_filter.state) {\n this.dom.table_wrap.classList.add('l-objects-rights__table-wrap_filter');\n } else {\n this.dom.table_wrap.classList.remove('l-objects-rights__table-wrap_filter');\n }\n }\n}\n\nRouter.add_page(ObjectRights);\n\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/objects_rights.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"./l-objects-rights__modal-add.html\"] = require( \"./l-objects-rights__modal-add.html\" );\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"../l-objects-rights/l-objects-rights__filter.html\"] = require( \"../l-objects-rights/l-objects-rights__filter.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"./l-objects-rights__table-content.html\"] = require( \"./l-objects-rights__table-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-objects-rights/l-objects-rights.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"\\n\";\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-objects-rights/l-objects-rights.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n Реестр объектов права\\n
\\n
\\n Актуализировать статусы\\n Создать объект\\n \\n
\\n\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-objects-rights/l-objects-rights.html\", false, function(t_10,t_9) {\nif(t_10) { cb(t_10); return; }\nt_9.getExported(function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nif(t_9.hasOwnProperty(\"bSearch\")) {\nvar t_12 = t_9.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_12);\noutput += \"\\n \";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-objects-rights/l-objects-rights.html\", false, function(t_14,t_13) {\nif(t_14) { cb(t_14); return; }\nt_13.getExported(function(t_15,t_13) {\nif(t_15) { cb(t_15); return; }\nif(t_13.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_16 = t_13.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_16);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 20, colno = 20, runtime.callWrap(t_12, \"bSearch\", context, [{\"class\": \"l-objects-rights__search\"},{\"placeholder\": \"Поиск по наименованию, исполнителю, изготовителю, ISRC, коду\",\"value\": runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"filter_data\")),\"search\")}])), env.opts.autoescape);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 27, colno = 33, runtime.callWrap(t_16, \"bDropdownFilter\", context, [\"Фильтры\",\"filter\",\"l-objects-rights__filter-body\",runtime.makeKeywordArgs({\"caller\": (function (){var macro_t_17 = runtime.makeMacro(\n[], \n[], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nvar t_18 = \"\";env.getTemplate(\"../l-objects-rights/l-objects-rights__filter.html\", false, \"../templates/l-objects-rights/l-objects-rights.html\", null, function(t_21,t_19) {\nif(t_21) { cb(t_21); return; }\nt_19.render(context.getVariables(), frame, function(t_22,t_20) {\nif(t_22) { cb(t_22); return; }\nt_18 += t_20\n})});\nframe = frame.pop();\nreturn new runtime.SafeString(t_18);\n});\nreturn macro_t_17;})()})])), env.opts.autoescape);\noutput += \"\\n
\\n\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-objects-rights/l-objects-rights.html\", null, function(t_25,t_23) {\nif(t_25) { cb(t_25); return; }\nt_23.render(context.getVariables(), frame, function(t_26,t_24) {\nif(t_26) { cb(t_26); return; }\noutput += t_24\noutput += \"\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"./l-objects-rights__table-content.html\", false, \"../templates/l-objects-rights/l-objects-rights.html\", null, function(t_29,t_27) {\nif(t_29) { cb(t_29); return; }\nt_27.render(context.getVariables(), frame, function(t_30,t_28) {\nif(t_30) { cb(t_30); return; }\noutput += t_28\noutput += \"\\n \\n
\\n
\\n Наименование\\n
\\n
\\n
\\n Исполнители\\n
\\n
\\n
\\n Изготовители\\n
\\n
\\n
\\n Хронометраж\\n
\\n
\\n
\\n ISRC\\n
\\n
\\n
\\n Статус\\n
\\n
\\n
\\n Перейти\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\";\ncb(null, output);\n})})})})})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-objects-rights/l-objects-rights.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-objects-rights/l-objects-rights.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-objects-rights/l-objects-rights__modal-add.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n\\n
\\n Создание объекта права\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-objects-rights/l-objects-rights__modal-add.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-objects-rights/l-objects-rights__modal-add.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-objects-rights/l-objects-rights__filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
\\n
Статус
\\n \\n
\\n
\\n
Наименование
\\n \\n
\\n
\\n
Исполнители
\\n \\n
\\n
\\n
Изготовители
\\n \\n
\\n
\\n
Авторы музыки
\\n \\n
\\n
\\n
Авторы текста
\\n \\n
\\n
\\n
Альбом
\\n \\n
\\n
\\n
ISRC
\\n \\n
\\n
\\n \\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-objects-rights/l-objects-rights__filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-objects-rights/l-objects-rights__filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-objects-rights/l-objects-rights__table-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nif(!runtime.contextOrFrameLookup(context, frame, \"timeout_error\")) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"objects_list\")),\"item_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"performers\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"publisher\"), env.opts.autoescape);\noutput += \"\\n \\n \";\nif(runtime.memberLookup((t_4),\"is_source\")) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \";\nif(runtime.memberLookup((t_4),\"duration\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(env.getFilter(\"convert_second\").call(context, runtime.memberLookup((t_4),\"duration\")), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"isrc\"), env.opts.autoescape);\noutput += \"\\n \\n \";\nif(runtime.memberLookup((t_4),\"status\") == 1) {\noutput += \"\\n Введен\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((t_4),\"status\") == 2) {\noutput += \"\\n Актуализирован\\n \";\n;\n}\n;\n}\noutput += \"\\n \\n \\n Права\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
КодАвтор музыкиАвтор текстаАльбомГод публикации
\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"code\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"author_music\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"author_text\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"album_name\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"public_year\"), env.opts.autoescape);\noutput += \"
\\n \\n \\n \";\n;\n}\n}\nif (!t_2) {\noutput += \"\\n \\n Не найдено записей\\n \\n \";\n}\nframe = frame.pop();\noutput += \"\\n\";\n;\n}\nelse {\noutput += \"\\n \\n Ошибка получения данных. Попробуйте перезагрузить страницу\\n \\n\";\n;\n}\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-objects-rights/l-objects-rights__table-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-objects-rights/l-objects-rights__table-content.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-objects-rights/l-object-rights__modal-actualize.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n Обработка запроса\\n
\\n\\n
\\n
\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"process\") == true) {\noutput += \"\\n
Производится обработка объектов права...\\n \";\n;\n}\nelse {\noutput += \"\\n
Обработка завершена.
\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"message\"), env.opts.autoescape);\noutput += \"
\\n \";\n;\n}\noutput += \"\\n
\\n
\\n\";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"process\") == false) {\noutput += \"\\n\\n\";\n;\n}\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-objects-rights/l-object-rights__modal-actualize.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-objects-rights/l-object-rights__modal-actualize.html","import template from '../templates/l-objects-rights-card/l-objects-rights-card.html'\nimport errormodal_template from '../templates/b-error-modal/b-error-modal.html'\nimport Controller from '../controller'\nimport Router from 'blocko/router'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\nimport render from 'blocko/functions/render'\nimport {get_widget, post} from 'blocko/helpers'\n\n\nclass ObjectsRightsCard extends Controller {\n\n static get route() {\n return '/objects_rights//';\n }\n\n constructor(params) {\n super();\n\n super.prepare_context({\n card: {\n path: '/api/red/track/get',\n data: {\n id: params.object_id,\n },\n handler: response => {\n if (!response.success) {\n this.abort(404);\n } else {\n let { item } = response.data;\n const fixNumber = source => {\n let number = parseFloat(source);\n\n if (isNaN(number)) return \"0,00\";\n\n return number.toFixed(2).replace(\".\", \",\");\n };\n\n item.track_balance = fixNumber(item.track_balance);\n item.track_charged = fixNumber(item.track_charged);\n item.track_income = fixNumber(item.track_income);\n }\n }\n },\n check_for_delete: {\n path: '/api/red/track/check_for_delete',\n data: {\n track_id: params.object_id\n },\n handler: response => {\n if (response.success) {\n this.add('ready_for_delete', true);\n }\n }\n }\n });\n\n this.params = params;\n\n super.render_page(template);\n }\n\n init() {\n\n this.dom = {\n delete_button: document.querySelector('.l-objects-rights-card__delete-button')\n };\n\n this.modal = get_widget(document.querySelector('.l-objects-rights-card__modal-edit'), 'bModal');\n this.delete_error_modal = null;\n\n this._bind();\n }\n\n _bind() {\n this.modal.modal.attach('hide', () => {\n let form_widget = get_widget(this.modal.modal.dom.box.querySelector('.i-ajax-form'), 'iForm');\n let i_ajax_form = get_widget(this.modal.modal.dom.box.querySelector('.i-ajax-form'), 'iAjaxForm');\n form_widget.reset();\n form_widget.clear_error_message();\n i_ajax_form.clear_error();\n });\n\n if (this.dom.delete_button) {\n this.dom.delete_button.addEventListener('click', this.delete_object.bind(this), false);\n }\n }\n\n delete_object() {\n post('/api/red/track/delete', { track_id: this.params.object_id }, response => {\n response = JSON.parse(response);\n\n if (response.success) {\n location = '/objects_rights/';\n } else {\n if (!this.delete_error_modal) {\n this.delete_error_modal = new iModal(errormodal_template, {\n node_link: this.dom.delete_button,\n strict_hide: true\n });\n\n this.delete_error_modal.dom.close_button.classList.add('b-modal__close-error');\n }\n\n this.delete_error_modal.change_body(render(errormodal_template, {\n message: response.errors.merge\n }));\n this.delete_error_modal.show();\n }\n });\n }\n}\n\nRouter.add_page(ObjectsRightsCard);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/objects_rights_card.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"./l-objects-rights-card__modal-edit.html\"] = require( \"./l-objects-rights-card__modal-edit.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-objects-rights-card/l-objects-rights-card.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-objects-rights-card/l-objects-rights-card.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n Объекты права >\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"name\"), env.opts.autoescape);\noutput += \"\\n
\\n
\\n Перейти в:\\n Синонимы\\n Права\\n
\\n
\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"ready_for_delete\")) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n Объединить\\n Редактировать\\n \\n
\\n\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Наименование\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"name\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"name\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"Альбом\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"album_name\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"album_name\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"
Исполнители\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"performers\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"performers\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"Год\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"public_year\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"public_year\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"
Изготовители\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"publisher\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"publisher\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"Хронометраж\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"duration\")) {\noutput += runtime.suppressValue(env.getFilter(\"convert_second\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"duration\")), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"
Автор музыки\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"author_music\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"author_music\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"ISRC\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"isrc\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"isrc\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"
Автор текста\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"author_text\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"author_text\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"ICPN (UPC или EAN)\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"icpn\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"icpn\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"
Фонограмма-Статус\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"status\") == 1) {\noutput += \"\\n Введен\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"status\") == 2) {\noutput += \"\\n Актуализирован\\n \";\n;\n}\n;\n}\noutput += \"\\n
Код\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"code\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n\\n
\\n Информация о правах и денежных средствах\\n
\\n
\\n
\\n \\n \\n \\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"current_user\")),\"user\")),\"is_admin\") == 1) {\noutput += \"\\n \\n \\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \";\n;\n}\noutput += \"\\n \\n \\n \\n \\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"current_user\")),\"user\")),\"is_admin\") == 1) {\noutput += \"\\n \\n \\n \\n \\n \";\n;\n}\noutput += \"\\n \\n \\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"current_user\")),\"user\")),\"is_admin\") == 1) {\noutput += \"\\n \\n \\n \\n \\n \";\n;\n}\noutput += \"\\n \\n \\n
Поступления на фонограмму\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"track_income\"), env.opts.autoescape);\noutput += \"Наличие прав\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"have_rights\") == 1?\"Есть\":\"Нет\"), env.opts.autoescape);\noutput += \"
Списание с фонограммы\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"track_charged\"), env.opts.autoescape);\noutput += \"
Остаток на фонограмме\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"track_balance\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n\\n
\\n\";\ncb(null, output);\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-objects-rights-card/l-objects-rights-card.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-objects-rights-card/l-objects-rights-card.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-objects-rights-card/l-objects-rights-card__modal-edit.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n\\n
\\n Редактирование объекта права\\n
\\n\\n \\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-objects-rights-card/l-objects-rights-card__modal-edit.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-objects-rights-card/l-objects-rights-card__modal-edit.html","import template from '../templates/l-objects-rights-synonyms/l-objects-rights-synonyms.html'\nimport Controller from '../controller'\nimport Router from 'blocko/router'\nimport {each, closest} from 'blocko/helpers'\nimport iTab from 'blocko/widgets/i-tab/i-tab'\n\n\nclass ObjectsRightsSynonyms extends Controller {\n\n static get route() {\n return '/objects_rights//synonyms/';\n }\n\n constructor(params) {\n super();\n\n super.prepare_context({\n card: {\n path: '/api/red/track/get',\n data: {\n id: params.object_id,\n },\n handler: response => {\n if (!response.success) {\n this.abort(404);\n }\n }\n },\n\n synonyms: {\n path: '/api/red/track/alias/list',\n data: {\n track_id: params.object_id,\n },\n error: (data, response_text, xhr) => {\n if (xhr.status === 504) {\n this.add('timeout_error', 1);\n }\n }\n }\n });\n\n super.render_page(template);\n }\n\n init() {\n\n this.dom = {\n titles: document.querySelectorAll('.l-objects-rights-synonyms__block-title'),\n boxes: document.querySelectorAll('.l-objects-rights-synonyms__block-box')\n };\n\n this._bind();\n }\n\n _bind() {\n\n each(this.dom.titles, (item, index) => {\n item.addEventListener('click', () => {\n this.dom.boxes[index].classList.toggle('hidden');\n item.querySelector('.i-icon').classList.toggle('i-icon_arrow-down');\n item.querySelector('.i-icon').classList.toggle('i-icon_arrow-right');\n });\n });\n }\n}\n\nRouter.add_page(ObjectsRightsSynonyms);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/objects_rights_synonyms.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"../l-objects-rights-synonyms/l-objects-rights-synonyms__block-requisites.html\"] = require( \"../l-objects-rights-synonyms/l-objects-rights-synonyms__block-requisites.html\" );\ndependencies[\"../l-objects-rights-synonyms/l-objects-rights-synonyms__block-synonyms.html\"] = require( \"../l-objects-rights-synonyms/l-objects-rights-synonyms__block-synonyms.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-objects-rights-synonyms/l-objects-rights-synonyms.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-objects-rights-synonyms/l-objects-rights-synonyms.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n \";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n \\n
\\n Перейти в:\\n Синонимы\\n Права\\n
\\n\\n
\\n
\\n \\n Реквизиты объекта права\\n
\\n
\\n \";\nenv.getTemplate(\"../l-objects-rights-synonyms/l-objects-rights-synonyms__block-requisites.html\", false, \"../templates/l-objects-rights-synonyms/l-objects-rights-synonyms.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n
\\n
\\n\\n
\\n
\\n \\n Синонимы\\n
\\n
\\n \";\nenv.getTemplate(\"../l-objects-rights-synonyms/l-objects-rights-synonyms__block-synonyms.html\", false, \"../templates/l-objects-rights-synonyms/l-objects-rights-synonyms.html\", null, function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nt_9.render(context.getVariables(), frame, function(t_12,t_10) {\nif(t_12) { cb(t_12); return; }\noutput += t_10\noutput += \"\\n
\\n
\\n
\\n \";\ncb(null, output);\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-objects-rights-synonyms/l-objects-rights-synonyms.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-objects-rights-synonyms/l-objects-rights-synonyms.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-objects-rights-synonyms/l-objects-rights-synonyms__block-requisites.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n
Наименование\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"name\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"name\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"Альбом\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"album\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"album\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"
Исполнители\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"performers\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"performers\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"Год\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"public_year\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"public_year\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"
Изготовители\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"publisher\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"publisher\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"Хронометраж\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"duration\")) {\noutput += runtime.suppressValue(env.getFilter(\"convert_second\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"duration\")), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"
Автор музыки\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"author_music\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"author_music\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"ISRC\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"isrc\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"isrc\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"
Автор текста\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"author_text\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"author_text\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"ICPN (UPC или EAN)\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"icpn\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"icpn\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"
Фонограмма-Статус\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"status\") == 1) {\noutput += \"\\n Введен\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"status\") == 2) {\noutput += \"\\n Актуализирован\\n \";\n;\n}\n;\n}\noutput += \"\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-objects-rights-synonyms/l-objects-rights-synonyms__block-requisites.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-objects-rights-synonyms/l-objects-rights-synonyms__block-requisites.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-objects-rights-synonyms/l-objects-rights-synonyms__block-synonyms.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nif(!runtime.contextOrFrameLookup(context, frame, \"timeout_error\")) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"synonyms\")),\"alias_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"synonym\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \";\n;\n}\n}\nif (!t_2) {\noutput += \"\\n \\n \\n \\n \";\n}\nframe = frame.pop();\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \\n \";\n;\n}\noutput += \"\\n \\n
\\n
\\n Наименование\\n
\\n
\\n
\\n Исполнители\\n
\\n
\\n
\\n Изготовители\\n
\\n
\\n
\\n Основной\\n
\\n
\\n
\\n Хронометраж\\n
\\n
\\n
\\n ISRC\\n
\\n
\\n
\\n ICPN\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"name\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"performers\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"publisher\"), env.opts.autoescape);\noutput += \"\\n \";\nif(runtime.memberLookup((t_4),\"is_main\")) {\noutput += \"\";\n;\n}\noutput += \"\\n \\n \";\nif(runtime.memberLookup((t_4),\"duration\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(env.getFilter(\"convert_second\").call(context, runtime.memberLookup((t_4),\"duration\")), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"isrc\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"icpn\"), env.opts.autoescape);\noutput += \"\\n \";\nif(!runtime.memberLookup((t_4),\"is_main\")) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Автор музыкиАвтор текстаАльбомГод публикации
\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"author_music\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"author_text\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"album_name\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"public_year\"), env.opts.autoescape);\noutput += \"
\\n
Не найдено записей
Ошибка получения данных. Попробуйте перезагрузить страницу
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-objects-rights-synonyms/l-objects-rights-synonyms__block-synonyms.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-objects-rights-synonyms/l-objects-rights-synonyms__block-synonyms.html","import template from '../templates/l-objects-rights-merge/l-objects-rights-merge.html';\nimport table_content from '../templates/l-objects-rights-merge/l-objects-rights-merge__items.html';\nimport modal_template from '../templates/l-objects-rights-merge/l-objects-rights-merge__modal.html';\nimport confirm_modal_template from '../templates/l-objects-rights-merge/l-objects-rights-merge__confirm-modal.html';\nimport Controller from '../controller';\nimport Router from 'blocko/router';\nimport iTab from 'blocko/widgets/i-tab/i-tab';\nimport Modal from '../templates/l-objects-rights-merge/modal';\nimport ConfrimModal from '../templates/l-objects-rights-merge/confirm-modal';\nimport {each, attach_event, post, parse_json, closest} from 'blocko/helpers';\nimport {get_context} from 'blocko/functions/context';\n\n\nconst pagingStatus = {\n CAN_REQUEST: 1,\n PENDING: 2,\n ALL_LOADED: 3\n};\n\n/** после мержа нужно раз в 10с перезапрашивать список */\nlet interval = null\n\nclass ObjectsRightsMerge extends Controller {\n\n static get route() {\n return '/objects_rights//merge';\n }\n\n constructor(params) {\n super();\n\n super.prepare_context({\n card: {\n path: '/api/red/track/get',\n data: {\n id: params.object_id,\n },\n handler: response => {\n if (!response.success) {\n this.abort(404);\n }\n }\n }\n });\n\n this.add(\"filters\", {\n name: \"name\",\n performers: \"performers\",\n publisher: \"publisher\",\n album_name: \"album_name\"\n });\n\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n buttonCopyDefault: document.querySelectorAll('.l-objects-rights-merge__arrow'),\n filterCheckboxes: document.querySelectorAll('.l-objects-rights-merge__checkbox'),\n filterInputs: document.querySelectorAll('.l-objects-rights-merge__input'),\n tableContent: document.querySelector('.l-objects-rights-merge__table-content'),\n scrollBox: document.querySelector('.l-objects-rights-merge__scroll-box'),\n collapseAllButton: document.querySelector('.i-icon_collapse-all'),\n showModalButtons: null\n };\n\n this.initialRequestTrackListData = {\n page: 1\n };\n\n this.requestTrackListData = null;\n this.trackList = null;\n this.pagingStatus = pagingStatus.CAN_REQUEST;\n\n this.tabs = null;\n\n this.inputDelayTimer = null;\n\n this.modal = null;\n this.confirmModal = null;\n\n this._bind();\n this.requestTrackList();\n }\n\n _bind() {\n attach_event(this.dom.buttonCopyDefault, 'click', ({ target }) => {\n let inputName = target.getAttribute('data-name');\n let input = document.querySelector(`[name=\"${inputName}\"]`);\n\n if (input) {\n input.value = target.getAttribute('data-value');\n }\n\n this.requestTrackList();\n });\n\n attach_event(this.dom.filterInputs, 'input', ({ target }) => {\n if (!target.relatedCheckbox) {\n target.relatedCheckbox = document.querySelectorAll(`.l-objects-rights-merge__checkbox[data-name=\"${target.name}\"]`);\n\n if (!target.relatedCheckbox) return;\n }\n\n if (!target.relatedCheckbox.checked) {\n clearTimeout(this.inputDelayTimer);\n\n this.inputDelayTimer = setTimeout(this.requestTrackList.bind(this), 500);\n }\n\n clearInterval(interval)\n });\n\n attach_event(this.dom.filterCheckboxes, 'change', () => {\n this.requestTrackList();\n clearInterval(interval)\n });\n\n attach_event(this.dom.collapseAllButton, 'click', () => {\n this.tabs.hide_all();\n\n let coloredLines = document.querySelectorAll('.b-table__wrap-row-title_active');\n\n each(coloredLines, item => item.classList.remove('b-table__wrap-row-title_active'));\n\n let additionInfoBlocks = document.querySelectorAll('.b-table__wrap-row-content:not(.hidden)');\n\n each(additionInfoBlocks, item => item.classList.add('hidden'));\n });\n\n attach_event(this.dom.scrollBox, 'scroll', () => {\n let wrappedRect = this.dom.scrollBox.getBoundingClientRect();\n let contentRect = this.dom.tableContent.getBoundingClientRect();\n let triggerValue = (contentRect.height - contentRect.height * 0.1) - wrappedRect.height;\n\n if (this.dom.scrollBox.scrollTop >= triggerValue) {\n this.requestTrackList(true);\n }\n });\n }\n\n requestTrackList(forAdditions=false) {\n if (forAdditions) {\n if (this.pagingStatus != pagingStatus.CAN_REQUEST) return;\n\n this.pagingStatus = pagingStatus.PENDING;\n\n ++this.requestTrackListData.page;\n } else {\n this.requestTrackListData = Object.assign({}, this.initialRequestTrackListData);\n }\n\n let filtersData = {};\n\n each(this.dom.filterCheckboxes, checkbox => {\n if (checkbox.checked) {\n let inputName = checkbox.getAttribute('data-name');\n let input = document.querySelector(`[name=\"${inputName}\"]`);\n\n if (input) {\n filtersData[input.name + '_like'] = input.value;\n }\n }\n });\n\n Object.assign(this.requestTrackListData, filtersData);\n\n post('/api/red/track/list', this.requestTrackListData, response => {\n response = parse_json(response);\n let data = response.data || {};\n data.item_list = (data.item_list || []).map(track => Object.assign({rights: this.calculateTrackRights(track)}, track));\n this.trackList = data.item_list;\n\n if (forAdditions) {\n this.dom.tableContent.insertAdjacentHTML('beforeEnd', this.render(table_content, data));\n\n if (this.tabs) {\n this.tabs.reset({\n buttons: document.querySelectorAll('.i-icon_collapse-one'),\n boxes: document.querySelectorAll('.b-table__wrap-row-content')\n });\n }\n } else {\n this.dom.tableContent.innerHTML = this.render(table_content, data);\n\n this.tabs = new iTab({\n buttons: document.querySelectorAll('.i-icon_collapse-one'),\n boxes: document.querySelectorAll('.b-table__wrap-row-content'),\n button_active_class: 'i-icon_collapse-one_active',\n active: null,\n is_toggle: true,\n is_multiple: true\n });\n\n this.tabs.attach('CHANGE', event => {\n let buttons = document.querySelectorAll('.i-icon_collapse-one');\n let currentButton = buttons[event.active];\n\n if (currentButton) {\n let line = closest(currentButton, '.b-table__wrap-row-title');\n\n line.classList.toggle('b-table__wrap-row-title_active');\n }\n });\n }\n\n this.dom.showModalButtons = document.querySelectorAll('.l-objects-rights-merge__show-modal-button');\n\n each(this.dom.showModalButtons, item => this.initializeShowModalButton(item));\n\n this.pagingStatus = pagingStatus.CAN_REQUEST;\n\n if (response.data.item_list && response.data.item_list.length < 100) {\n this.pagingStatus = pagingStatus.ALL_LOADED;\n }\n }, error => {\n\n });\n }\n\n initializeShowModalButton(element) {\n if (element.isInitialized) return;\n else element.isInitialized = true;\n\n attach_event(element, 'click', () => {\n let id = element.getAttribute('data-id');\n let template = this.render(modal_template, this.getModalData(id));\n\n if (this.modal) {\n this.modal.change_body(template);\n } else {\n this.modal = new Modal(template);\n this.modal.setCallbacks({\n afterMergeCallback: this.afterMerge.bind(this),\n onMergeError: this.mergeError.bind(this)\n })\n }\n\n this.modal.show();\n });\n }\n\n getModalData(id) {\n let { item: mainObjectRight } = get_context('card');\n let mergeObjectRight = null;\n\n each(this.trackList, track => {\n if (track.id === id) {\n mergeObjectRight = track;\n\n return false;\n }\n });\n\n return { mainObjectRight, mergeObjectRight };\n }\n\n calculateTrackRights(track) {\n if (track.have_actual_rights_for_date === 1) {\n return 'Действуют'\n }\n\n if (track.have_actual_rights_for_date === 0 && track.have_rights === 1) {\n return 'Не действуют'\n }\n\n if (track.have_rights === 0) {\n return 'Нет'\n }\n\n return 'Нет'\n }\n\n afterMerge() {\n this.modal.hide();\n this.requestTrackList();\n interval = setInterval(this.requestTrackList.bind(this), 6000)\n }\n\n mergeError(payload) {\n let template = this.render(confirm_modal_template, payload);\n if (this.confirmModal) {\n this.confirmModal.change_body(template)\n } else {\n this.confirmModal = new ConfrimModal(template)\n }\n \n this.confirmModal.setCallbacks({\n onConfirm: this.confirmMerge.bind(this, Object.assign({force_flag: 1}, payload.requestData))\n })\n\n this.confirmModal.show();\n }\n \n confirmMerge(data) {\n post('/api/red/track/merge', data, response => {\n response = JSON.parse(response);\n\n if (response.success) {\n this.confirmModal.hide();\n this.afterMerge(response);\n } else {\n document.querySelector('.l-objects-rights-merge__buttons-container .error').innerHTML =\n response.errors.merge;\n }\n });\n }\n}\n\nRouter.add_page(ObjectsRightsMerge);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/objects_rights_merge.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"./l-objects-rights-merge__items.html\"] = require( \"./l-objects-rights-merge__items.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-objects-rights-merge/l-objects-rights-merge.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-objects-rights-merge/l-objects-rights-merge.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\nvar macro_t_3 = runtime.makeMacro(\n[\"name\", \"value\"], \n[], \nfunction (l_name, l_value, kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nframe.set(\"name\", l_name);\nframe.set(\"value\", l_value);\nvar t_4 = \"\";t_4 += \"\\n \";\nif(l_value) {\nt_4 += \"\\n \\n \";\n;\n}\nt_4 += \"\\n\";\n;\nframe = frame.pop();\nreturn new runtime.SafeString(t_4);\n});\ncontext.addExport(\"arrow\");\ncontext.setVariable(\"arrow\", macro_t_3);\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_6,t_5) {\nif(t_6) { cb(t_6); return; }\noutput += t_5;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n Объекты права >\\n Объединение - Выбор объединяемых ОП\\n
\\n
\\n Отмена\\n
\\n\\n
\\n Основной объект\\n
\\n\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Наименование\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"name\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"name\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \" \";\noutput += runtime.suppressValue(env.getFilter(\"safe\").call(context, (lineno = 28, colno = 88, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"arrow\"), \"arrow\", context, [runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"filters\")),\"name\"),runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"name\")]))), env.opts.autoescape);\noutput += \"Альбом\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"album_name\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"album_name\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \" \";\noutput += runtime.suppressValue(env.getFilter(\"safe\").call(context, (lineno = 30, colno = 100, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"arrow\"), \"arrow\", context, [runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"filters\")),\"album_name\"),runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"album_name\")]))), env.opts.autoescape);\noutput += \"
Исполнители\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"performers\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"performers\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \" \";\noutput += runtime.suppressValue(env.getFilter(\"safe\").call(context, (lineno = 34, colno = 100, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"arrow\"), \"arrow\", context, [runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"filters\")),\"performers\"),runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"performers\")]))), env.opts.autoescape);\noutput += \"Год\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"public_year\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"public_year\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"
Изготовители\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"publisher\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"publisher\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \" \";\noutput += runtime.suppressValue(env.getFilter(\"safe\").call(context, (lineno = 40, colno = 98, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"arrow\"), \"arrow\", context, [runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"filters\")),\"publisher\"),runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"publisher\")]))), env.opts.autoescape);\noutput += \"Хронометраж\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"duration\")) {\noutput += runtime.suppressValue(env.getFilter(\"convert_second\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"duration\")), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"
Автор музыки\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"author_music\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"author_music\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"ISRC\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"isrc\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"isrc\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"
Автор текста\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"author_text\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"author_text\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"ICPN (UPC или EAN)\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"icpn\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"icpn\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"
Фонограмма-Статус\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"status\") == 1) {\noutput += \"\\n Введен\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"status\") == 2) {\noutput += \"\\n Актуализирован\\n \";\n;\n}\n;\n}\noutput += \"\\n
\\n
\\n
\\n\\n
\\n Варианты для объединения\\n
\\n\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"./l-objects-rights-merge__items.html\", false, \"../templates/l-objects-rights-merge/l-objects-rights-merge.html\", null, function(t_9,t_7) {\nif(t_9) { cb(t_9); return; }\nt_7.render(context.getVariables(), frame, function(t_10,t_8) {\nif(t_10) { cb(t_10); return; }\noutput += t_8\noutput += \"\\n \\n
\\n
\\n \\n \\n
\\n Наименование\\n
\\n
\\n
\\n
\\n \\n \\n
\\n Исполнитель\\n
\\n
\\n
\\n
\\n \\n \\n
\\n Изготовитель\\n
\\n
\\n
\\n
\\n \\n \\n
\\n Альбом\\n
\\n
\\n
\\n
\\n \\n \\n
\\n ISRC\\n
\\n
\\n
\\n
\\n \\n \\n
\\n Права\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-objects-rights-merge/l-objects-rights-merge.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-objects-rights-merge/l-objects-rights-merge.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-objects-rights-merge/l-objects-rights-merge__items.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nif(!runtime.contextOrFrameLookup(context, frame, \"error\")) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = runtime.contextOrFrameLookup(context, frame, \"item_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"track\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \";\nif(runtime.memberLookup((t_4),\"id\") != runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"card\")),\"item\")),\"id\")) {\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"performers\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"publisher\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"album_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"isrc\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"rights\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Авторы музыки: \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"author_music\"), env.opts.autoescape);\noutput += \"Авторы текста: \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"author_text\"), env.opts.autoescape);\noutput += \"Год опубликования: \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"public_year\"), env.opts.autoescape);\noutput += \"Хронометраж: \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"duration\")?env.getFilter(\"convert_second\").call(context, runtime.memberLookup((t_4),\"duration\")):\"\"), env.opts.autoescape);\noutput += \"ICPN: \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"icpn\"), env.opts.autoescape);\noutput += \"
\\n \\n \\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"item_list\")),\"length\") == 1) {\noutput += \"\\n \\n Не найдено записей\\n \\n \";\n;\n}\n;\n}\noutput += \"\\n \";\n;\n}\n}\nif (!t_2) {\noutput += \"\\n \\n Не найдено записей\\n \\n \";\n}\nframe = frame.pop();\noutput += \"\\n\";\n;\n}\nelse {\noutput += \"\\n \\n Ошибка получения данных. Попробуйте перезагрузить страницу\\n \\n\";\n;\n}\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-objects-rights-merge/l-objects-rights-merge__items.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-objects-rights-merge/l-objects-rights-merge__items.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-objects-rights-merge/l-objects-rights-merge__modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nvar t_1;\nt_1 = runtime.contextOrFrameLookup(context, frame, \"mergeObjectRight\");\nframe.set(\"mergeObjectRight\", t_1, true);\nif(frame.topLevel) {\ncontext.setVariable(\"mergeObjectRight\", t_1);\n}\nif(frame.topLevel) {\ncontext.addExport(\"mergeObjectRight\", t_1);\n}\noutput += \"\\n\";\nvar t_2;\nt_2 = runtime.contextOrFrameLookup(context, frame, \"mainObjectRight\");\nframe.set(\"mainObjectRight\", t_2, true);\nif(frame.topLevel) {\ncontext.setVariable(\"mainObjectRight\", t_2);\n}\nif(frame.topLevel) {\ncontext.addExport(\"mainObjectRight\", t_2);\n}\noutput += \"\\n\\n\";\nvar macro_t_3 = runtime.makeMacro(\n[\"title\", \"name\"], \n[], \nfunction (l_title, l_name, kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nframe.set(\"title\", l_title);\nframe.set(\"name\", l_name);\nvar t_4 = \"\";t_4 += \"\\n \";\nvar macro_t_5 = runtime.makeMacro(\n[\"type\", \"value\"], \n[], \nfunction (l_type, l_value, kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nframe.set(\"type\", l_type);\nframe.set(\"value\", l_value);\nvar t_6 = \"\";t_6 += \"\\n
\\n \";\nt_6 += runtime.suppressValue((l_value?l_value:\"-\"), env.opts.autoescape);\nt_6 += \"\\n
\\n \";\n;\nframe = frame.pop();\nreturn new runtime.SafeString(t_6);\n});\nframe.set(\"ouputText\", macro_t_5);\nt_4 += \"\\n\\n \";\nvar t_7;\nt_7 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"mergeObjectRight\")),l_name);\nframe.set(\"mergeValue\", t_7, true);\nif(frame.topLevel) {\ncontext.setVariable(\"mergeValue\", t_7);\n}\nif(frame.topLevel) {\ncontext.addExport(\"mergeValue\", t_7);\n}\nt_4 += \"\\n \";\nvar t_8;\nt_8 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"mainObjectRight\")),l_name);\nframe.set(\"mainValue\", t_8, true);\nif(frame.topLevel) {\ncontext.setVariable(\"mainValue\", t_8);\n}\nif(frame.topLevel) {\ncontext.addExport(\"mainValue\", t_8);\n}\nt_4 += \"\\n\\n \\n \";\nt_4 += runtime.suppressValue(l_title, env.opts.autoescape);\nt_4 += \"\\n \\n \";\nt_4 += runtime.suppressValue((lineno = 17, colno = 22, runtime.callWrap(macro_t_5, \"ouputText\", context, [\"merge\",runtime.contextOrFrameLookup(context, frame, \"mergeValue\")])), env.opts.autoescape);\nt_4 += \"\\n \\n \\n \";\nt_4 += runtime.suppressValue((lineno = 20, colno = 22, runtime.callWrap(macro_t_5, \"ouputText\", context, [\"main\",runtime.contextOrFrameLookup(context, frame, \"mainValue\")])), env.opts.autoescape);\nt_4 += \"\\n \\n \\n \\n \\n \\n\";\n;\nframe = frame.pop();\nreturn new runtime.SafeString(t_4);\n});\ncontext.addExport(\"getLine\");\ncontext.setVariable(\"getLine\", macro_t_3);\noutput += \"\\n\\n\\n
\\n Обогащение атрибутов основного объекта\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\noutput += runtime.suppressValue((lineno = 58, colno = 28, runtime.callWrap(macro_t_3, \"getLine\", context, [\"Наименование\",\"name\"])), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((lineno = 59, colno = 28, runtime.callWrap(macro_t_3, \"getLine\", context, [\"Исполнитель\",\"performers\"])), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((lineno = 60, colno = 28, runtime.callWrap(macro_t_3, \"getLine\", context, [\"Изготовитель\",\"publisher\"])), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((lineno = 61, colno = 28, runtime.callWrap(macro_t_3, \"getLine\", context, [\"Автор текста\",\"author_text\"])), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((lineno = 62, colno = 28, runtime.callWrap(macro_t_3, \"getLine\", context, [\"Автор музыки\",\"author_music\"])), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((lineno = 63, colno = 28, runtime.callWrap(macro_t_3, \"getLine\", context, [\"Альбом\",\"album_name\"])), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((lineno = 64, colno = 28, runtime.callWrap(macro_t_3, \"getLine\", context, [\"Год публикации\",\"public_year\"])), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((lineno = 65, colno = 28, runtime.callWrap(macro_t_3, \"getLine\", context, [\"Хронометраж\",\"duration\"])), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((lineno = 66, colno = 28, runtime.callWrap(macro_t_3, \"getLine\", context, [\"ISRC\",\"isrc\"])), env.opts.autoescape);\noutput += \"\\n\\n \\n \\n \\n
\\n \\n
\\n Сливаемый ОП\\n
\\n
\\n
\\n Основной ОП\\n
\\n
\\n
\\n Основной ОП (Результат)\\n
\\n
\\n
\\n
\\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-objects-rights-merge/l-objects-rights-merge__modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-objects-rights-merge/l-objects-rights-merge__modal.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-objects-rights-merge/l-objects-rights-merge__confirm-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n Подтвердите действие\\n
\\n
\\n
\\n \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"message\"), env.opts.autoescape);\noutput += \"\\n
\\n\\n
\\n Вы все равно хотите объединить треки?\\n
\\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-objects-rights-merge/l-objects-rights-merge__confirm-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-objects-rights-merge/l-objects-rights-merge__confirm-modal.html","import iModal from 'blocko/widgets/i-modal/i-modal';\nimport {each, attach_event, post, parse_json} from 'blocko/helpers';\n\nexport default class Modal extends iModal {\n constructor() {\n super(...arguments);\n this.bind();\n this.setCallbacks();\n }\n\n change_body() {\n super.change_body(...arguments);\n\n this.bind();\n }\n\n setCallbacks({afterMergeCallback = () => {}, onMergeError = () => {}} = {}) {\n this.afterMerge = afterMergeCallback\n this.onError = onMergeError\n }\n\n bind() {\n let dataHolders = document.querySelectorAll('.l-objects-rights-merge__data-to-merge');\n\n attach_event(dataHolders, 'click', ({ target }) => {\n let inputName = target.getAttribute('data-name');\n let input = this.dom.box.querySelector(`[name=\"${inputName}\"]`);\n\n if (input) {\n let inputValue = target.getAttribute('data-value');\n\n input.value = inputValue;\n }\n });\n\n let cancelButton = this.dom.box.querySelectorAll('.b-modal__close');\n\n attach_event(cancelButton, 'click', () => {\n this.hide();\n });\n\n let sendButton = this.dom.box.querySelector('[type=\"submit\"]');\n\n attach_event(sendButton, 'click', event => {\n event.preventDefault();\n\n let data = {};\n\n each(this.dom.box.querySelectorAll('[name]'), item => {\n data[item.name] = item.value;\n });\n\n post('/api/red/track/merge', data, response => {\n response = JSON.parse(response);\n\n if (response.success) {\n this.afterMerge(response)\n } else {\n this.onError({\n message: response.errors.merge,\n requestData: data\n })\n }\n });\n });\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-objects-rights-merge/modal.js","import iModal from 'blocko/widgets/i-modal/i-modal';\nimport { attach_event, each, post } from 'blocko/helpers'\n\nexport default class ConfirmModal extends iModal {\n constructor() {\n super(...arguments);\n\n this.setCallbacks();\n this.bind();\n }\n\n change_body() {\n super.change_body(...arguments);\n\n this.bind();\n }\n\n setCallbacks({onConfirm = () => {}} = {}) {\n this.onConfirm = onConfirm\n }\n\n bind() {\n let cancelButton = this.dom.box.querySelectorAll('.b-modal__close');\n\n attach_event(cancelButton, 'click', () => {\n this.hide();\n });\n\n let confirmButton = this.dom.box.querySelector('[type=\"submit\"]');\n\n attach_event(confirmButton, 'click', event => {\n event.preventDefault();\n this.onConfirm()\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-objects-rights-merge/confirm-modal.js","import template from '../templates/l-agreement-catalog-files/l-agreement-catalog-files.html'\nimport table_content from '../templates/l-agreement-catalog-files/l-agreement-catalog-files__table-content.html'\nimport Controller from '../controller'\nimport Router from 'blocko/router'\nimport {post, parse_json, get_widget} from 'blocko/helpers'\n\nconst max_file_size = 5000000000;\n\nclass AgreementCatalogFiles extends Controller {\n\n static get route() {\n return '/agreements//catalog/files/';\n }\n\n constructor(params) {\n super();\n\n super.prepare_context({\n contract: {\n path: '/api/red/contract/get',\n data: {\n id: params.agreement_id,\n },\n handler: response => {\n if (!response.success) {\n this.abort(404);\n }\n }\n },\n\n files: {\n path: '/api/red/contract/object/file/list',\n data: {\n order_by: 'ctime:asc',\n contract_id: params.agreement_id,\n },\n error: (data, response_text, xhr) => {\n if (xhr.status === 504) {\n this.add('timeout_error', 1);\n }\n }\n }\n });\n\n this.params = params;\n\n super.render_page(template);\n }\n\n init() {\n\n this.dom = {\n content: document.querySelector('.l-agreement-catalog-files__table-content'),\n button_reload: document.querySelector('.l-agreement-catalog-files__button-reload'),\n input_file: document.querySelector('.l-agreement-catalog-files__input-file'),\n input_original_name: document.querySelector('.l-agreement-catalog-files__file-original-name')\n };\n\n this.widgets = {\n sort: get_widget(document.querySelector('.b-table__row'), 'bTableSort'),\n modal: get_widget(document.querySelector('.l-agreement-catalog-files__modal'), 'bModal'),\n form: get_widget(document.querySelector('.i-ajax-form'), 'iForm'),\n ajax_form: get_widget(document.querySelector('.i-ajax-form'), 'iAjaxForm')\n };\n\n this.data = {\n contract_id: this.params.agreement_id,\n order_by: 'ctime:asc'\n };\n\n this._bind();\n }\n\n _bind() {\n\n this.widgets.sort.attach('sort_click', this._event_sort.bind(this));\n this.dom.input_file.addEventListener('change', this._change_file.bind(this));\n this.dom.button_reload.addEventListener('click', this._render_content.bind(this));\n\n /**\n * Эвент сброса значений формы на исходные при закрытии модального окна\n */\n this.widgets.modal.modal.attach('hide', () => {\n let i_ajax_form = get_widget(this.widgets.modal.modal.dom.box.querySelector('.i-ajax-form'), 'iAjaxForm');\n i_ajax_form.clear_error();\n this.widgets.form.reset();\n this.widgets.form.clear_error_message();\n });\n }\n\n\n /**\n * Заполнение поля \"Имя файла\"\n * @param event\n * @private\n */\n _change_file(event) {\n if (event.target.files.length) {\n let file = event.target.files[0];\n\n if (file.size > max_file_size) {\n this.widgets.ajax_form.set_error('Размер файла слишком большой');\n } else {\n this.dom.input_original_name.value = file.name;\n }\n }\n }\n\n _event_sort(widget) {\n Object.assign(this.data, {'order_by': widget.order_by});\n this._render_content();\n }\n\n /**\n * Перерисовка таблицы в соответсвии с примененнными фильтрами, сортировками и поисками\n * @private\n */\n _render_content() {\n post('/api/red/contract/object/file/list', this.data, response => {\n response = parse_json(response);\n this.dom.content.innerHTML = this.render(table_content, {files: response.data, timeout_error: 0});\n }, error => {\n this.dom.content.innerHTML = this.render(table_content, {timeout_error: 1});\n });\n }\n}\n\nRouter.add_page(AgreementCatalogFiles);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/agreement_catalog_files.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"./l-agreement-catalog-files__modal.html\"] = require( \"./l-agreement-catalog-files__modal.html\" );\ndependencies[\"../l-agreement-catalog-files/l-agreement-catalog-files__table-content.html\"] = require( \"../l-agreement-catalog-files/l-agreement-catalog-files__table-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-catalog-files/l-agreement-catalog-files.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-agreement-catalog-files/l-agreement-catalog-files.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n \\n
\\n Перейти в:\\n Файлы загрузок\\n Журнал загрузок\\n Права\\n
\\n\\n
\\n
Файлы
\\n\\n \\n\\n Загрузить файл\\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-agreement-catalog-files/l-agreement-catalog-files__table-content.html\", false, \"../templates/l-agreement-catalog-files/l-agreement-catalog-files.html\", null, function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nt_9.render(context.getVariables(), frame, function(t_12,t_10) {\nif(t_12) { cb(t_12); return; }\noutput += t_10\noutput += \"\\n \\n
\\n
\\n Имя файла\\n
\\n
\\n
\\n Загружен\\n
\\n
\\n
\\n Дата предост. сведений\\n
\\n
\\n
\\n Статус\\n
\\n
\\n
\\n Описание\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-catalog-files/l-agreement-catalog-files.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-catalog-files/l-agreement-catalog-files.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-catalog-files/l-agreement-catalog-files__modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"\\n
\\n
\\n Загрузка файла каталога\\n
\\n\\n \\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-catalog-files/l-agreement-catalog-files__modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-catalog-files/l-agreement-catalog-files__modal.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-catalog-files/l-agreement-catalog-files__table-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nif(!runtime.contextOrFrameLookup(context, frame, \"timeout_error\")) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"files\")),\"file_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"filename\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"ctime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"ctime\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_load\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_load\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"description\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \\n \\n \";\n;\n}\n}\nif (!t_2) {\noutput += \"\\n \\n Не найдено записей\\n \\n \";\n}\nframe = frame.pop();\noutput += \"\\n\";\n;\n}\nelse {\noutput += \"\\n \\n Ошибка получения данных. Попробуйте перезагрузить страницу\\n \\n\";\n;\n}\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-catalog-files/l-agreement-catalog-files__table-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-catalog-files/l-agreement-catalog-files__table-content.html","import template from '../templates/l-agreement-catalog/l-agreement-catalog.html'\nimport table_content from '../templates/l-agreement-catalog/l-agreement-catalog__table-content.html'\nimport modal_template from '../templates/l-agreement-catalog/l-agreement-catalog__modal-export.html'\nimport modal_template_conflict from '../templates/l-agreement-catalog/l-agreement-catalog__modal-export-conflict.html'\nimport modal_template_pass_catalog from '../templates/l-agreement-catalog/l-agreement-catalog__modal-pass-catalog.html'\nimport modal_template_error from '../templates/b-error-modal/b-error-modal.html'\nimport modal_template_wait from '../templates/b-wait-modal/b-wait-modal.html'\nimport contract_report from '../templates/l-agreement-catalog/l-agreement-catalog_contract-report.html'\nimport Controller from '../controller'\nimport Router from 'blocko/router'\nimport {attach_event, post, parse_json, get_widget, each, closest} from 'blocko/helpers'\nimport iTab from 'blocko/widgets/i-tab/i-tab'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\nimport iChecker from 'blocko/widgets/i-checker/i-checker'\n\nconst DEFAULT_STATUS = '4,5,6';\nconst TABLE_ROW_COUNT = 100;\nconst DEFAULT_PAGE = {page: 1};\nconst DEFAULT_FILTER = {\n status: DEFAULT_STATUS,\n x_real_track_name: '',\n x_real_track_performers: '',\n date_begin: '',\n date_end: ''\n};\nconst DEFAULT_QUERY = {\n status: DEFAULT_STATUS,\n order_by: 'track_name:asc',\n rows: TABLE_ROW_COUNT,\n page: 1\n};\nconst DATE_FILTER_POSTFIX = {\n begin: ':>=',\n end: ':<='\n};\nconst MAX_DATE = '4102358400:<=';\nconst MIN_DATE = '631152000:>=';\nconst STATUS_READY = 3;\nconst STATUS_ERROR = 4;\nconst TASK_STATUS = {\n 0: 'Новый',\n 1: 'В обработке',\n 2: 'Выполнен',\n};\nconst TEXT = {\n pass_catalog_cant_send_request_error: 'Не удалось отправить запрос на передачу каталога.',\n pass_catalog_self_pass_error: 'Невозможно передать права на каталог самому себе.
' +\n 'Пожалуйста, введите другой номер договора.'\n};\n\n\nclass AgreementCatalog extends Controller {\n\n static get route() {\n return '/agreements//catalog/';\n }\n\n constructor(params, query) {\n super();\n\n this.params = params;\n\n /**\n * Объект параметров GET-запроса\n * @type {{}}\n */\n this.query = Object.assign({}, {contract_id: params.agreement_id}, DEFAULT_QUERY, query);\n\n /**\n * Объект параметров фильтра\n * @type {{}}\n */\n this.filter_data = {};\n Object.assign(this.filter_data, this.query);\n\n if (this.query.date_begin && this.query.date_end) {\n if (this.query.date_begin == MAX_DATE) {\n this.filter_data.begin = this.query.date_end.slice(0, -3);\n } else if (this.query.date_end == MIN_DATE) {\n this.filter_data.end = this.query.date_begin.slice(0, -3);\n } else {\n this.filter_data.begin = this.query.date_end.slice(0, -3);\n this.filter_data.end = this.query.date_begin.slice(0, -3);\n }\n }\n \n super.prepare_context({\n contract: {\n path: '/api/red/contract/get',\n data: {\n id: params.agreement_id,\n with: 'catalogs'\n },\n handler: response => {\n if (!response.success) {\n this.abort(404);\n }\n }\n },\n\n object_count: {\n path: '/api/red/contract/object/list/count',\n data: {\n contract_id: params.agreement_id,\n status: '4,5,6'\n }\n },\n objects_rights: {\n path: '/api/red/contract/object/list',\n data: this.query,\n error: (data, response_text, xhr) => {\n if (xhr.status === 504) {\n this.add('timeout_error', 1);\n }\n }\n }\n });\n super.add('filter_data', this.filter_data);\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n content: document.querySelector('.l-agreement-catalog__table-content'),\n table: document.querySelector('.l-agreement-catalog__table'),\n table_wrap: document.querySelector('.l-agreement-catalog__table-wrap'),\n spoiler_title: document.querySelector('.l-agreement-catalog__block-title'),\n spoiler_box: document.querySelector('.l-agreement-catalog__box'),\n button_reload: document.querySelector('.l-agreement-catalog__button-reload'),\n status_selector: document.querySelector('.l-agreement-catalog__status-selector'),\n icon: document.querySelector('.l-agreement-catalog__block-icon'),\n button_export: document.querySelector('.l-agreement-catalog__button-export'),\n button_conflict_export: document.querySelector('.l-agreement-catalog__button-conflict-export'),\n button_pass_catalog: document.querySelector('.l-agreement-catalog__button-pass-catalog'),\n panel: document.querySelector('.l-agreement-catalog__footer-panel'),\n panel_form: document.querySelector('.l-agreement-catalog__footer-panel-form'),\n panel_date: document.querySelector('.l-agreement-catalog__footer-panel-date'),\n panel_confirm_button: document.querySelector('.l-agreement-catalog__footer-panel-confirm'),\n check_all_button: document.querySelector('.l-agreement-catalog__check-all'),\n hide_all: document.querySelector('.i-icon_collapse-all'),\n contract_count: document.querySelector('.l-agreement-catalog__contract-count'),\n contract_selected: document.querySelector('.l-agreement-catalog__contract-selected'),\n contract_suggest: document.querySelector('.l-agreement-catalog__contract-suggest')\n };\n \n this.widgets = {\n b_search: get_widget(document.querySelector('.l-agreement-catalog__search'), 'bSearch'),\n b_filter: get_widget(document.querySelector('.l-agreement-catalog__filter'), 'bDropdownFilter'),\n modal: get_widget(document.querySelector('.l-agreement-catalog__modal-add'), 'bModal'),\n form: get_widget(document.querySelector('.i-ajax-form'), 'iForm'),\n panel_form: get_widget(this.dom.panel_form, 'iForm'),\n i_ajax_form: get_widget(document.querySelector('.i-ajax-form'), 'iAjaxForm'),\n sort: get_widget(document.querySelector('.b-table__row'), 'bTableSort'),\n confirm_change_status: get_widget(this.dom.status_selector, 'bConfirmModal'),\n modal_export: undefined,\n modal_conflict_export: null,\n modal_pass_catalog: null,\n date: get_widget(this.dom.panel_date, 'bInputMask'),\n contract_suggest: get_widget(this.dom.contract_suggest, 'bInput')\n };\n\n /**\n * Флаг запроса на дорисовку контента\n * @type {boolean}\n */\n if (this.get_param('objects_rights')) {\n this.stop_render = this.get_param('objects_rights').object_list.length != TABLE_ROW_COUNT;\n } else {\n this.stop_render = undefined;\n }\n\n this.contract_object = this.get_param('contract');\n\n /**\n * Инициализация фильтра по GET параметрам\n */\n this.widgets.b_filter.form_submit(null, false);\n\n this.default_status = this.dom.status_selector.value;\n\n this.search_request = null;\n\n this._bind();\n this._init_tab();\n this._set_sort_icon();\n this._calc_table_wrap();\n this._init_checker();\n\n /**\n * Инициализация контейнера для suggest списка формы передачи каталога\n */\n this._contract_list = [];\n this._pass_catalog_contract_list = [];\n\n /**\n * Количественные показатели в панели частичной передачи прав\n */\n this.dom.contract_count.innerHTML = this.get_param('objects_rights').object_list.length;\n }\n\n _bind() {\n this.widgets.b_search.attach('input', this._event_search.bind(this));\n this.widgets.b_search.attach('click', this._clear_search.bind(this));\n this.widgets.b_filter.attach('submit', this._event_filter.bind(this));\n this.widgets.b_filter.attach('change', this._event_filter_close.bind(this));\n this.widgets.b_filter.attach('click', this._event_filter_clear.bind(this));\n this.dom.button_reload.addEventListener('click',this._render_table.bind(this));\n this.widgets.sort.attach('sort_click', this._sort.bind(this));\n this.dom.spoiler_title.addEventListener('click', this._toggle_content.bind(this));\n this.dom.status_selector.addEventListener('change', event => {\n let status_name = event.target.selectedOptions[0].text;\n this.widgets.confirm_change_status.change_content(\n `Вы действительно хотите перевести каталог договора №${this.contract_object.contract.num} в статус \"${status_name}\" ?`\n );\n });\n this.widgets.confirm_change_status.attach('confirm', () => {\n this._change_status();\n });\n this.widgets.confirm_change_status.attach('cancel', () => {\n this.dom.status_selector.value = this.default_status;\n });\n this.dom.button_export.addEventListener('click', this._export_modal.bind(this));\n this.dom.button_conflict_export.addEventListener('click', this._export_conflict_modal.bind(this));\n this.dom.button_pass_catalog.addEventListener('click', this._pass_catalog_modal.bind(this));\n this.widgets.modal.modal.attach('hide', () => {\n this.widgets.form.reset();\n this.widgets.form.clear_error_message();\n this.widgets.i_ajax_form.clear_error();\n });\n\n this.dom.table_wrap.addEventListener('scroll', () => {\n this._window_scroll_event();\n });\n\n this.widgets.contract_suggest.node.addEventListener('input', this._event_contract_suggest.bind(this));\n this.widgets.contract_suggest.attach('suggest_click', (index, event) => {\n this._event_suggest_track_click(index, event);\n this._result_button_availability();\n });\n this.widgets.contract_suggest.attach('suggest_clear', widget => {\n widget.node.classList.remove('error-field');\n this._result_button_availability();\n });\n\n attach_event(this.dom.contract_suggest, 'blur', event => {\n this._result_button_availability();\n })\n\n this.widgets.date.attach('event', (event, widget) => {\n this._result_button_availability();\n });\n\n attach_event(this.dom.panel_confirm_button, 'click', event => {\n if (this._result_button_availability()) {\n this._partial_rights_transfer();\n }\n });\n }\n\n\n /**\n * Обновление контента таблицы\n * @private\n */\n _render_table() {\n Object.assign(this.query, DEFAULT_PAGE);\n\n this.search_request = post('/api/red/contract/object/list', this.query, response => {\n response = parse_json(response);\n this.stop_render = response.data.object_list.length < TABLE_ROW_COUNT;\n this.dom.content.innerHTML = this.render(table_content, {objects_rights: response.data, timeout_error: 0});\n this._init_tab();\n }, error => {\n this.dom.content.innerHTML = this.render(table_content, {timeout_error: 1});\n });\n }\n\n\n /**\n * Установка иконок сортировки в соответвии с GET-параметрами\n * @private\n */\n _set_sort_icon() {\n if (this.query.order_by) {\n let name = this.query.order_by.split(':')[0];\n let type = this.query.order_by.split(':')[1];\n this.widgets.sort.manual_sort(name, type);\n }\n }\n\n\n /**\n * Эвент поиска по номеру договора\n * @param widget\n * @private\n */\n _event_search(widget) {\n let value = widget.dom.input.value;\n\n Object.assign(this.query, {'search': value}, DEFAULT_PAGE);\n\n if (!value) {\n delete this.query.search;\n }\n\n if (this.search_request) {\n this.search_request.abort();\n }\n\n clearTimeout(this.search_timer);\n\n this.search_timer = setTimeout(this._render_table.bind(this), 500);\n }\n\n\n /**\n * Сброс поля поиска\n * @private\n */\n _clear_search() {\n delete this.query.search;\n Object.assign(this.query, DEFAULT_PAGE);\n this.url_for('AgreementCatalog', {agreement_id: this.params.agreement_id}, this.query);\n }\n\n\n /**\n * Эвент фильтрции данных\n * @param widget\n * @private\n */\n _event_filter(widget) {\n let period = {};\n\n if (widget.form.dict.date_begin || widget.form.dict.date_end) {\n period = {\n date_begin: this._prepare_date(\n widget.form.dict.date_end ? widget.form.dict.date_end:'31.12.2099',\n 'end'\n ),\n date_end: this._prepare_date(\n widget.form.dict.date_begin ? widget.form.dict.date_begin:'01.01.1990',\n 'begin'\n )\n };\n }\n\n Object.assign(this.query, widget.form.dict, period, DEFAULT_PAGE);\n if (!this.query.status) {\n this.query.status = DEFAULT_STATUS;\n }\n this.url_for('AgreementCatalog', {agreement_id: this.params.agreement_id}, this.query);\n }\n\n\n /**\n * Эвент сброса одного фильтра\n * @param widget\n * @param event\n * @private\n */\n _event_filter_close(widget, event) {\n let button_name = event.currentTarget.__widget__.name;\n delete this.query[button_name];\n if (button_name === 'status') {\n this.query.status = DEFAULT_STATUS;\n }\n else if (button_name === 'date_begin' || button_name === 'date_end') {\n delete this.query.date_begin;\n delete this.query.date_end;\n }\n Object.assign(this.query, DEFAULT_PAGE);\n this.url_for('AgreementCatalog', {agreement_id: this.params.agreement_id}, this.query);\n }\n\n\n /**\n * Эвент сброса всех фильтров\n * @private\n */\n _event_filter_clear() {\n Object.assign(this.query, DEFAULT_FILTER, DEFAULT_PAGE);\n this.url_for('AgreementCatalog', {agreement_id: this.params.agreement_id}, this.query);\n }\n\n\n /**\n * Сортировка\n * @param widget\n * @private\n */\n _sort(widget) {\n Object.assign(this.query, {'order_by': widget.order_by}, DEFAULT_PAGE);\n this.url_for('AgreementCatalog', {agreement_id: this.params.agreement_id}, this.query);\n }\n\n\n /**\n * Обработка модального окна передачи каталога\n * @param {Event} event\n * @returns {undefined}\n */\n _pass_catalog_modal(event) {\n if (!this.widgets.modal_pass_catalog) {\n let button = event.target;\n let template = this.render(\n modal_template_pass_catalog,\n {contract: this.contract_object.contract}\n );\n let modal_config = {\n node_link: button,\n strict_hide: true\n };\n this.widgets.modal_pass_catalog = new iModal(template, modal_config);\n let modal = this.widgets.modal_pass_catalog;\n let form = modal.dom.box.querySelector('.i-form');\n let form_widget = get_widget(form, 'iForm');\n let close_button = modal.element.querySelector('.i-modal__close');\n let clear_form = () => {\n form_widget.reset();\n form_widget.clear_error_message();\n };\n let suggest_input = get_widget(form.querySelector('.l-agreement-catalog__to'), 'bInput');\n\n suggest_input.attach('suggest_click', (list_id) => {\n let contract_id_input = form.querySelector('[name=to_contract_id]');\n contract_id_input.value = this._pass_catalog_contract_list[list_id].id;\n });\n\n form.addEventListener('submit', (event) => {\n event.preventDefault();\n if (form_widget.validate()) {\n if (form_widget.dict.from_contract_id === form_widget.dict.to_contract_id) {\n this._pass_catalog_show_error(modal, TEXT.pass_catalog_self_pass_error);\n return;\n }\n\n let confirmed_event = () => {\n if (form_widget.validate()) {\n let submit_button = get_widget(form.querySelector('.b-button-submit'), 'bButtonSubmit');\n submit_button.block_button();\n modal.element.querySelectorAll('[type=text]')\n .forEach(i => i.setAttribute('disabled', 'disabled'));\n close_button.classList.add('hidden');\n this._pass_catalog_request_handler(modal);\n }\n };\n this._pass_catalog_confirm_dialog_handler(modal, confirmed_event);\n }\n });\n modal.dom.box.style.width = '250px';\n modal.attach('hide', clear_form);\n modal.dom.box\n .querySelector('.l-agreement-catalog__to')\n .addEventListener('input', this._event_pass_catalog_suggest.bind(this));\n }\n this.widgets.modal_pass_catalog.show();\n }\n\n\n /**\n * Обработчик модального окна (диалога) подтверждения на передачу каталога.\n * @param {iModal} root_modal\n * @param {Function} confirm_event\n * @param {Function} cancel_event\n * @returns {undefined}\n */\n _pass_catalog_confirm_dialog_handler(root_modal, confirm_event, cancel_event) {\n let confirm_dialog = get_widget(root_modal.element.querySelector('.b-confirm-modal'), 'bConfirmModal');\n let destination_agreement = root_modal.element.querySelector('.l-agreement-catalog__to').value;\n let date = root_modal.element.querySelector('.l-agreement-catalog__date').value;\n confirm_dialog.change_content(\n `Передать права на весь каталог номеру договора ${destination_agreement} начиная с ${date}?`\n );\n\n let confirm_event_cb = null;\n let cancel_event_cb = null;\n // HACK Убрать когда в blocko появятся одноразовые события события!\n // Идет привязка к приватному свойству _events родительского класса.\n // Нужно для избежания утечек памяти.\n let remove_events = () => {\n let config = {\n 'confirm': confirm_event_cb,\n 'cancel': cancel_event_cb\n };\n for (let name of Object.keys(config)) {\n if (confirm_dialog._events[name]) {\n let filtered = confirm_dialog._events[name].filter(f => f !== config[name]);\n confirm_dialog._events[name] = filtered;\n }\n }\n };\n\n confirm_event_cb = () => {\n if (confirm_event) {\n confirm_event();\n }\n remove_events();\n };\n cancel_event_cb = () => {\n if (cancel_event) {\n cancel_event();\n }\n remove_events();\n };\n\n confirm_dialog.attach('confirm', confirm_event_cb);\n confirm_dialog.attach('cancel', cancel_event_cb);\n confirm_dialog.modal.show();\n }\n\n\n /**\n * Модальное окно с ошибкой в случае проблем с запросом к API на передачу каталога.\n * @param {iModal} root_modal\n * @returns {undefined}\n */\n _pass_catalog_show_error(root_modal, message) {\n let error_dom = root_modal.element.querySelector('.b-error-modal');\n let modal = get_widget(error_dom, 'iModal');\n if (!modal) {\n let template = this.render(modal_template_error, {message});\n let modal_config = {\n node_link: error_dom,\n strict_hide: true\n };\n modal = new iModal(template, modal_config);\n }\n modal.show();\n }\n\n\n _waiting_modal(dom_element, task_id, status, success) {\n let modal = get_widget(dom_element, 'bModal');\n if (!modal) {\n modal = new iModal(this.render(modal_template_wait, {\n status: TASK_STATUS[status],\n success: success\n }), {\n node_link: dom_element,\n strict_hide: true\n });\n attach_event(modal.dom.close_button, 'click', () => {\n modal.hide();\n location.reload();\n });\n }\n modal.show();\n\n let status_checker = setInterval(function () {\n post('/api/red/task/item/get', {id: task_id}, (response) => {\n response = parse_json(response);\n let status = response.data.item.status;\n if (response.success) {\n success = response.success;\n if (status == 2) {\n clearInterval(status_checker);\n }\n } else {\n status = response.errmess;\n success = response.success;\n }\n modal.change_body(\n this.render(modal_template_wait, {\n status: TASK_STATUS[status],\n success: success\n })\n );\n modal.dom.box\n .querySelector('.b-button_secondary')\n .addEventListener('click', () => {\n modal.hide();\n location.reload();\n });\n if (response.success && status == 2) {\n let spinner_dom = modal.dom.box.querySelector('.b-loader__spinner');\n if (spinner_dom.parentNode) {\n spinner_dom.parentNode.removeChild(spinner_dom);\n }\n }\n });\n }.bind(this), 10000);\n }\n\n\n /**\n * Обработка запроса на передачу каталога.\n * @param {iModal} root_modal\n * @returns {undefined}\n */\n _pass_catalog_request_handler(root_modal) {\n let form_dom = root_modal.element.querySelector('.i-form');\n let form_widget = get_widget(form_dom, 'iForm');\n let date = form_widget.dict.date.split('.').reverse().join('-');\n let params = Object.assign({}, form_widget.dict, {date});\n post('/api/red/contract/move', params,\n (response) => {\n let parsed_response = parse_json(response);\n let dom_element = form_dom.querySelector('.b-wait-modal');\n let task_id = parsed_response.data.task.id;\n let status = parsed_response.data.task.status;\n let success = parsed_response.success;\n root_modal.hide();\n this._waiting_modal(dom_element, task_id, status, success);\n },\n () => {\n let close_button_dom = root_modal.element.querySelector('.i-modal__close');\n let submit_button = get_widget(form_dom.querySelector('.b-button-submit'), 'bButtonSubmit');\n\n this._pass_catalog_show_error(root_modal, TEXT.pass_catalog_cant_send_request_error);\n form_dom.querySelectorAll('[type=text]')\n .forEach(i => i.removeAttribute('disabled'));\n close_button_dom.classList.remove('hidden');\n submit_button.unblock_button();\n }\n );\n }\n\n\n /**\n * Создание модального окна экспорта\n * @private\n */\n _export_modal(event) {\n let button = event.target;\n\n post('/api/red/contract/catalog/file/add', {contract_id: this.params.agreement_id}, response => {\n response = parse_json(response);\n\n if (response.success) {\n this.widgets.modal_export = new iModal(this.render(modal_template, {data: response.data}), {\n node_link: button,\n strict_hide: true\n });\n\n this.widgets.modal_export.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.widgets.modal_export.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n location.reload();\n });\n this.widgets.modal_export.attach('hide', () => {\n this.widgets.modal_export.show();\n });\n this.widgets.modal_export.show();\n\n let status_checker = setInterval(function () {\n post('/api/red/contract/catalog/file/get', {\n contract_id: this.params.agreement_id,\n id: response.data.catalog_file.id\n }, response => {\n response = parse_json(response);\n\n if (response.success) {\n if (response.data.catalog_file.status === STATUS_READY\n || response.data.catalog_file.status === STATUS_ERROR) {\n clearInterval(status_checker);\n }\n\n this.widgets.modal_export.change_body(this.render(modal_template, {data: response.data}));\n this.widgets.modal_export.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.widgets.modal_export.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n location.reload();\n });\n }\n });\n }.bind(this), 10000);\n }\n });\n }\n\n\n /**\n * Создание модального окна выгрузки конфликтов\n * @private\n */\n _export_conflict_modal(event) {\n let button = event.target;\n let data = {\n action: \"report_2718\",\n params: JSON.stringify({\n contragent_id: this.contract_object.contract.contragent_id,\n contract_id: this.params.agreement_id\n })\n };\n\n post('/api/red/task/add', data, response => {\n response = parse_json(response);\n\n if (response.success) {\n this.widgets.modal_conflict_export = new iModal(this.render(modal_template_conflict, {data: response.data}), {\n node_link: button,\n strict_hide: true\n });\n\n this.widgets.modal_conflict_export.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.widgets.modal_conflict_export.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n location.reload();\n });\n this.widgets.modal_conflict_export.attach('hide', () => {\n this.widgets.modal_conflict_export.show();\n });\n this.widgets.modal_conflict_export.show();\n\n let status_checker = setInterval(function () {\n post('/api/red/task/get', {\n id: response.data.task.id\n }, response => {\n response = parse_json(response);\n\n if (response.success) {\n if (response.data.task.status === STATUS_READY\n || response.data.task.status === STATUS_ERROR) {\n clearInterval(status_checker);\n }\n\n this.widgets.modal_conflict_export.change_body(this.render(modal_template_conflict, {data: response.data}));\n this.widgets.modal_conflict_export.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.widgets.modal_conflict_export.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n location.reload();\n });\n }\n });\n }.bind(this), 10000);\n }\n });\n }\n\n\n /**\n * Показать/скрыть блок с контентом\n * @private\n */\n _toggle_content () {\n this.dom.spoiler_box.classList.toggle('hidden');\n this.dom.icon.classList.toggle('i-icon_arrow-down');\n this.dom.icon.classList.toggle('i-icon_arrow-right');\n }\n\n\n /**\n * Инициализация iTab для таблицы с контентом\n * @private\n */\n _init_tab() {\n this.tabs = new iTab({\n buttons: document.querySelectorAll('.i-icon_collapse-one'),\n boxes: document.querySelectorAll('.b-table__wrap-row-content'),\n button_active_class: 'i-icon_collapse-one_active',\n active: null,\n is_toggle: true,\n is_multiple: true\n });\n\n this.tabs.attach('CHANGE', event => {\n if (event.active >= 0) {\n let buttons_list = document.querySelectorAll('.i-icon_collapse-one');\n let box_list = document.querySelectorAll('.b-table__wrap-row-content');\n let current_button = buttons_list[event.active];\n let button_parent = closest(current_button, '.b-table__wrap-row-title');\n\n button_parent.classList.toggle('b-table__wrap-row-title_active');\n\n this.dom.hide_all.addEventListener('click', event => {\n each(box_list, (item, index) => {\n buttons_list[index].classList.remove('i-icon_collapse-one_active');\n closest(buttons_list[index], '.b-table__wrap-row-title').classList.remove('b-table__wrap-row-title_active');\n item.classList.add('hidden');\n });\n });\n }\n });\n }\n\n\n /**\n * Смена статуса каталога\n * @private\n */\n _change_status() {\n post('/api/red/contract/catalog/status', {\n id: this.contract_object.contract.catalogs[0].id,\n status: this.dom.status_selector.value\n }, response => {\n response = parse_json(response);\n if (response.success) {\n location.reload();\n }\n });\n }\n\n\n /**\n * Событие ввода в suggest поле \"Номер договора\" у модального окна \"Передать каталог\"\n * @param {Event}\n * @returns {undefined}\n */\n _event_pass_catalog_suggest(event) {\n let value = event.currentTarget.value;\n let modal = this.widgets.modal_pass_catalog;\n let form = modal.dom.box.querySelector('.i-form');\n let suggest_input = get_widget(form.querySelector('.l-agreement-catalog__to'), 'bInput');\n let contract_id_input = form.querySelector('[name=to_contract_id]');\n contract_id_input.value = '';\n clearTimeout(this.search_timer);\n\n if (value.length >= 2) {\n this.search_timer = setTimeout(function () {\n let params = {\n order_by: 'num:asc',\n rows: 20,\n page: 1,\n search: value\n };\n post('/api/red/contract/list', params, (response) => {\n let parsed_response = parse_json(response);\n if (parsed_response.success) {\n this._pass_catalog_contract_list = parsed_response.data.contract_list;\n suggest_input.create_suggest(\n parsed_response.data.contract_list.map(i => i.num),\n 'suggest__box'\n );\n }\n });\n }.bind(this), 300);\n }\n }\n\n\n /**\n * Эвент скрола страницы\n * @private\n */\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n /**\n * Дорисовка контента таблицы при скролле\n * @private\n */\n _next_page() {\n if (this.stop_render) {\n return;\n }\n\n this.stop_render = true;\n this.query.page = parseInt(this.query.page) + 1;\n\n post('/api/red/contract/object/list', this.query, response => {\n response = parse_json(response);\n this.dom.content.insertAdjacentHTML('beforeEnd', this.render(table_content, {objects_rights: response.data, timeout_error: 0}));\n if (response.data.object_list.length === TABLE_ROW_COUNT) {\n this.stop_render = false;\n }\n this._init_tab();\n }, error => {\n this.dom.content.insertAdjacentHTML('beforeEnd', this.render(table_content, {timeout_error: 1}));\n });\n }\n\n\n /**\n * Предподготавливает дату перед отправкой в АПИ\n * @param date\n * @param action\n * @returns {string}\n * @private\n */\n _prepare_date(date, action) {\n let timestamp = '';\n\n if (date) {\n let parse_date = date.split('.');\n parse_date.reverse();\n parse_date.join('-');\n timestamp = new Date(parse_date.join('-')).getTime() / 1000 + DATE_FILTER_POSTFIX[action];\n }\n return timestamp;\n }\n\n /**\n * Изменение формата даты dd.mm.yyyy => yyyy-mm-dd\n * @private\n */\n _convert_date(date) {\n let timestamp = '';\n\n if (date) {\n let parse_date = date.split('.');\n parse_date.reverse();\n timestamp = parse_date.join('-');\n }\n return timestamp;\n } \n\n /**\n * Частичная передача прав с отображением статуса передачи.\n * @private\n */\n _partial_rights_transfer() {\n const renderModal = (modal, data = {}) => {\n modal.change_body(this.render(contract_report, data));\n modal.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n location.reload();\n });\n };\n\n let modal = new iModal(template, { strict_hide: true });\n let template = renderModal(modal, this.modal_create);\n\n let query_params = {\n date: this._convert_date(this.dom.panel_date.value),\n from_contract_id: this.query.contract_id,\n to_contract_id: this.contract.id, \n to_contract_num: this.contract.num,\n id_list: this.object_id_list.join()\n }\n \n post('/api/red/contract/move_some', query_params, response => {\n response = parse_json(response);\n if (response.success) {\n let task_id = response.data.task.id;\n let action = response.data.task.action;\n \n window.addEventListener('keyup', event => event.stopPropagation(), true);\n\n modal.dom.close_button.style.display = 'none';\n modal.show();\n\n var interval = setInterval(() => {\n post('/api/red/task/get', { id: task_id, action: action }, response => {\n response = JSON.parse(response);\n let status = response.data.task.status;\n\n renderModal(modal, response.data);\n \n if (status == 2 || status == 3) {\n clearInterval(interval);\n }\n });\n }, 1000);\n }\n })\n };\n\n /**\n * Ввода в саджест-поле \"Договор\"\n * @param event\n * @private\n */\n _event_contract_suggest(event) {\n let value = event.currentTarget.value;\n clearTimeout(this.search_timer);\n\n if (value.length >= 2) {\n this.search_timer = setTimeout(function () {\n let params = {\n order_by: 'num:asc',\n rows: 20,\n page: 1,\n search: value\n };\n post('/api/red/contract/list', params, (response) => {\n let parsed_response = parse_json(response);\n if (parsed_response.success) {\n this._contract_list = parsed_response.data.contract_list;\n let result = this._contract_list.filter(contract => contract.type_right_type == 1);\n this.widgets.contract_suggest.create_suggest(\n result.map(i => i.num),\n 'suggest__box'\n );\n }\n });\n }.bind(this), 300);\n }\n }\n\n /**\n * Эвент выбора обекта права из саджест списка. Установка id обекта права.\n * @param index\n * @private\n */\n _event_suggest_track_click(index) {\n this.contract = this._contract_list[index];\n }\n\n /**\n * Пересчет высоты таблицы в зависимости от фильтра\n * @private\n */\n _calc_table_wrap() {\n if (this.widgets.b_filter.state) {\n this.dom.table_wrap.classList.add('l-agreement-catalog__table-wrap_filter');\n } else {\n this.dom.table_wrap.classList.remove('l-agreement-catalog__table-wrap_filter');\n }\n }\n\n // if (event.target.value.length) {\n\n _result_button_availability() {\n let result;\n // if (this.contract && this.dom.panel_date.value) {\n if (this.widgets.panel_form.validate()) {\n this.dom.panel_confirm_button.removeAttribute('disabled');\n result = true;\n } else {\n this.dom.panel_confirm_button.setAttribute(\"disabled\", \"disabled\");\n result = false;\n };\n \n return result;\n }\n\n /**\n * Пересчет высоты таблицы в зависимости от панели\n * @private\n */\n _init_checker() {\n this.widgets.checker = new iChecker(\n this.dom.check_all_button,\n document.querySelectorAll('.l-agreement-catalog__check-item')\n );\n\n this.widgets.checker.attach('check', (widget, event) => {\n this.checked_contracts = widget.checked_items;\n this.dom.contract_selected.innerHTML = widget.checked_items.length;\n\n this.object_id_list = [];\n each(this.checked_contracts, item => {\n this.object_id_list.push(item.value);\n });\n\n if (this.checked_contracts.length > 0) {\n this.dom.panel.classList.remove('hidden');\n this.dom.table_wrap.classList.add('l-agreement-catalog__table-wrap_pad');\n } else {\n this.dom.panel.classList.add('hidden');\n this.dom.table_wrap.classList.remove('l-agreement-catalog__table-wrap_pad');\n this.dom.check_all_button.checked = false;\n }\n });\n }\n}\n\nRouter.add_page(AgreementCatalog);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/agreement_catalog.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"../l-agreement-catalog/l-agreement-catalog__block-info.html\"] = require( \"../l-agreement-catalog/l-agreement-catalog__block-info.html\" );\ndependencies[\"../l-agreement-catalog/l-agreement-catalog__block-table.html\"] = require( \"../l-agreement-catalog/l-agreement-catalog__block-table.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-catalog/l-agreement-catalog.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-agreement-catalog/l-agreement-catalog.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n \\n \\n
\\n
\\n \";\nenv.getTemplate(\"../l-agreement-catalog/l-agreement-catalog__block-info.html\", false, \"../templates/l-agreement-catalog/l-agreement-catalog.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n
\\n
\\n \";\nenv.getTemplate(\"../l-agreement-catalog/l-agreement-catalog__block-table.html\", false, \"../templates/l-agreement-catalog/l-agreement-catalog.html\", null, function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nt_9.render(context.getVariables(), frame, function(t_12,t_10) {\nif(t_12) { cb(t_12); return; }\noutput += t_10\noutput += \"\\n
\\n
\\n\";\ncb(null, output);\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-catalog/l-agreement-catalog.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-catalog/l-agreement-catalog.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-catalog/l-agreement-catalog__block-info.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n \\n Информация по каталогу\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Тип договора\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"type_name\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"type_name\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"\\n Вид прав\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"type_right_type_name\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"type_right_type_name\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"
Правообладатель\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"contragent_name_inner\") && runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"contragent_name_inner\") != \"NULL\") {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"contragent_name_inner\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n -\\n \";\n;\n}\noutput += \"\\n Статус каталога\\n \\n
Номер договора\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"num\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"num\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"\\n
Статус договора\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"status_name\"), env.opts.autoescape);\noutput += \"Записей в каталоге\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object_count\")),\"object_list_count\"), env.opts.autoescape);\noutput += \"
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-catalog/l-agreement-catalog__block-info.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-catalog/l-agreement-catalog__block-info.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"../l-agreement-catalog/l-agreement-catalog__filter.html\"] = require( \"../l-agreement-catalog/l-agreement-catalog__filter.html\" );\ndependencies[\"./l-agreement-catalog__modal-add.html\"] = require( \"./l-agreement-catalog__modal-add.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"./l-agreement-catalog__table-content.html\"] = require( \"./l-agreement-catalog__table-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-catalog/l-agreement-catalog__block-table.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-agreement-catalog/l-agreement-catalog__block-table.html\", false, function(t_2,t_1) {\nif(t_2) { cb(t_2); return; }\nt_1.getExported(function(t_3,t_1) {\nif(t_3) { cb(t_3); return; }\nif(t_1.hasOwnProperty(\"bSearch\")) {\nvar t_4 = t_1.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_4);\noutput += \"\\n \";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-agreement-catalog/l-agreement-catalog__block-table.html\", false, function(t_6,t_5) {\nif(t_6) { cb(t_6); return; }\nt_5.getExported(function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nif(t_5.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_8 = t_5.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_8);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 5, colno = 12, runtime.callWrap(t_4, \"bSearch\", context, [{\"class\": \"l-agreement-catalog__search\"},{\"placeholder\": \"Поиск\",\"value\": runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"filter_data\")),\"search\")}])), env.opts.autoescape);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 12, colno = 25, runtime.callWrap(t_8, \"bDropdownFilter\", context, [\"Фильтры\",\"filter\",runtime.makeKeywordArgs({\"caller\": (function (){var macro_t_9 = runtime.makeMacro(\n[], \n[], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nvar t_10 = \"\";env.getTemplate(\"../l-agreement-catalog/l-agreement-catalog__filter.html\", false, \"../templates/l-agreement-catalog/l-agreement-catalog__block-table.html\", null, function(t_13,t_11) {\nif(t_13) { cb(t_13); return; }\nt_11.render(context.getVariables(), frame, function(t_14,t_12) {\nif(t_14) { cb(t_14); return; }\nt_10 += t_12\n})});\nframe = frame.pop();\nreturn new runtime.SafeString(t_10);\n});\nreturn macro_t_9;})()})])), env.opts.autoescape);\noutput += \"\\n\\n \\n
\\n\\n
\\n Добавить объект\\n \\n
\\n\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-agreement-catalog/l-agreement-catalog__block-table.html\", null, function(t_21,t_19) {\nif(t_21) { cb(t_21); return; }\nt_19.render(context.getVariables(), frame, function(t_22,t_20) {\nif(t_22) { cb(t_22); return; }\noutput += t_20\noutput += \"\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"./l-agreement-catalog__table-content.html\", false, \"../templates/l-agreement-catalog/l-agreement-catalog__block-table.html\", null, function(t_25,t_23) {\nif(t_25) { cb(t_25); return; }\nt_23.render(context.getVariables(), frame, function(t_26,t_24) {\nif(t_26) { cb(t_26); return; }\noutput += t_24\noutput += \"\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n Объект права\\n
\\n
\\n
\\n Исполнители\\n
\\n
\\n
\\n Территория\\n
\\n
\\n
\\n Статус\\n
\\n
\\n
\\n Доля\\n
\\n
\\n
\\n Дата начала\\n
\\n
\\n
\\n Дата окончания\\n
\\n
\\n
\\n Перейти\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})})})})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-catalog/l-agreement-catalog__block-table.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-catalog/l-agreement-catalog__block-table.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-catalog/l-agreement-catalog__filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
\\n
Статус
\\n \\n
\\n
\\n
Наименование
\\n \\n
\\n
\\n
Исполнители
\\n \\n
\\n
\\n
Начало периода
\\n \\n
\\n
\\n
Окончание периода
\\n \\n
\\n
\\n \\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-catalog/l-agreement-catalog__filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-catalog/l-agreement-catalog__filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-catalog/l-agreement-catalog__modal-add.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n\\n
\\n Создание объекта каталога\\n
\\n\\n \\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"type_right_type\") == 2) {\noutput += \"\\n \\n \\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \";\n;\n}\noutput += \"\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-catalog/l-agreement-catalog__modal-add.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-catalog/l-agreement-catalog__modal-add.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-catalog/l-agreement-catalog__table-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nif(!runtime.contextOrFrameLookup(context, frame, \"timeout_error\")) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"objects_rights\")),\"object_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \\n \\n \\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"track_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"track_performers\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"track_territory\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(env.getFilter(\"round\").call(context, runtime.memberLookup((t_4),\"percent\"),3), env.opts.autoescape);\noutput += \" %\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_begin\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_begin\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_end\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_end\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})):\"\"), env.opts.autoescape);\noutput += \"\\n История\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n
Автор музыкиИзготовители
\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"track_author_music\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"track_publisher\"), env.opts.autoescape);\noutput += \"
Автор текстаОснования ПУД
\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"track_author_text\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"pud\"), env.opts.autoescape);\noutput += \"
\\n \\n \\n \";\n;\n}\n}\nif (!t_2) {\noutput += \"\\n \\n Не найдено записей\\n \\n \";\n}\nframe = frame.pop();\noutput += \"\\n\";\n;\n}\nelse {\noutput += \"\\n \\n Ошибка получения данных. Попробуйте перезагрузить страницу\\n \\n\";\n;\n}\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-catalog/l-agreement-catalog__table-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-catalog/l-agreement-catalog__table-content.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-catalog/l-agreement-catalog__modal-export.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n Выгрузка отчета\\n
\\n\\n
\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"catalog_file\")),\"status\") == 1 || runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"catalog_file\")),\"status\") == 2) {\noutput += \"\\n
\\n
  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"catalog_file\")),\"status_name\"), env.opts.autoescape);\noutput += \"...\\n
\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"catalog_file\")),\"status\") == 3) {\noutput += \"\\n

Завершено

\\n Ссылка для скачивания\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"catalog_file\")),\"status\") == 4) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"catalog_file\")),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\n;\n}\n;\n}\noutput += \"\\n
\\n\\n\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-catalog/l-agreement-catalog__modal-export.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-catalog/l-agreement-catalog__modal-export.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-catalog/l-agreement-catalog__modal-export-conflict.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n Выгрузка конфликтов\\n
\\n\\n
\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"task\")),\"status\") == 0 || runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"task\")),\"status\") == 1 || runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"task\")),\"status\") == 2) {\noutput += \"\\n
\\n
  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"task\")),\"status_name\"), env.opts.autoescape);\noutput += \"...\\n
\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"task\")),\"status\") == 3) {\noutput += \"\\n

Завершено

\\n Ссылка для скачивания\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"task\")),\"status\") == 4) {\noutput += \"\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"task\")),\"result\")),\"errors\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"task\")),\"result\")),\"errors\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"task\")),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\noutput += \"\\n \";\n;\n}\n;\n}\n;\n}\noutput += \"\\n
\\n\\n\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-catalog/l-agreement-catalog__modal-export-conflict.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-catalog/l-agreement-catalog__modal-export-conflict.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-catalog/l-agreement-catalog__modal-pass-catalog.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
\\n Передать каталог\\n
\\n\\n \\n \\n\\n
\\n
\\n \\n\\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n\\n \\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-catalog/l-agreement-catalog__modal-pass-catalog.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-catalog/l-agreement-catalog__modal-pass-catalog.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-wait-modal/b-wait-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n Массовая операция\\n
\\n\\n
\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"success\")) {\noutput += \"\\n
\\n
  Статус операции: \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"status\"), env.opts.autoescape);\noutput += \"\\n
\\n \";\n;\n}\nelse {\noutput += \"\\n Статус операции: \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"status\"), env.opts.autoescape);\noutput += \".\\n \";\n;\n}\noutput += \"\\n
\\n\\n\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-wait-modal/b-wait-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-wait-modal/b-wait-modal.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-catalog/l-agreement-catalog_contract-report.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Передача прав\\n
\\n\\n
\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status\") != 2 && runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status\") != 3) {\noutput += \"\\n
\\n
\\n   Ожидает выполнения \\n
\\n\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status\") == 2) {\noutput += \"\\n

Завершено

\\n
Объектов в обработке: \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"json_result\")),\"result\")),\"objects_all\"), env.opts.autoescape);\noutput += \"
\\n
Обработано: \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"json_result\")),\"result\")),\"objects_to_another_catalog_success\"), env.opts.autoescape);\noutput += \"
\\n
Ошибок: \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"json_result\")),\"result\")),\"objects_to_another_catalog_error\"), env.opts.autoescape);\noutput += \"
\\n\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status\") == 3) {\noutput += \"\\n

Ошибка выполнения

\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"json_result\")),\"result\")),\"error_message\"), env.opts.autoescape);\noutput += \"
\\n \";\n;\n}\n;\n}\n;\n}\noutput += \"\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-catalog/l-agreement-catalog_contract-report.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-catalog/l-agreement-catalog_contract-report.html","import {get_widget, each, parse_json, post, attach_event} from 'blocko/helpers'\nimport Events from 'blocko/events'\n\n\nexport default class iChecker extends Events{\n\n constructor(checkbox_all, checkbox_item_list) {\n super();\n\n this.checkbox_all = checkbox_all;\n this.checkbox_list = checkbox_item_list;\n this.checked_items = [];\n\n this._set_events();\n }\n\n\n /**\n * Устанавливает эвенты на чекбоксы\n * @private\n */\n _set_events() {\n this.checkbox_all.addEventListener('click', this._event_check.bind(this));\n attach_event(this.checkbox_list, 'click', this._event_check.bind(this));\n }\n\n\n /**\n * Обрабока эвента клика по чекбоксу. Диспатчит эвент check.\n * @private\n */\n _event_check(event) {\n if (event.target == this.checkbox_all) {\n this.check_all();\n }\n\n this.checked_items = Array.prototype.slice.call(this.checkbox_list).filter(item => {\n if (item.checked) {\n return item;\n }\n });\n\n if (this.checked_items.length == this.checkbox_list.length) {\n this.checkbox_all.checked = true;\n } else if (this.checked_items.length == 0) {\n this.checkbox_all.checked = false;\n }\n\n this.dispatch('check', [this, event]);\n }\n\n\n /**\n * Выбрать/снять выбор со всех чекбоксов\n */\n check_all() {\n each(this.checkbox_list, item => {\n item.checked = this.checkbox_all.checked;\n });\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/i-checker/i-checker.js","import template from '../templates/l-object_comparison/l-object-comparison.html'\nimport table_content from '../templates/l-object_comparison/l-object-comparison__table-content.html'\nimport modal_template from '../templates/l-object_comparison/l-object-comparison__modal.html'\nimport Controller from '../controller'\nimport Router from 'blocko/router'\nimport {each, post, parse_json, get_widget, closest} from 'blocko/helpers'\nimport {get_context} from 'blocko/functions/context'\nimport iTab from 'blocko/widgets/i-tab/i-tab'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\n\n\nconst pagingStatus = {\n CAN_REQUEST: 1,\n PENDING: 2,\n ALL_LOADED: 3\n};\n\n\nclass ObjectComparison extends Controller {\n\n static get route() {\n return '/comparison//';\n }\n\n constructor(params) {\n super();\n\n super.prepare_context({\n object: {\n path: '/api/red/contract/object/get',\n data: {\n id: params.object_id,\n with: 'contract'\n },\n handler: response => {\n if (!response.success) {\n this.abort(404);\n }\n }\n }\n });\n\n this.params = params;\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n button_copy_default: document.querySelectorAll('.l-object-comparison__copy-default'),\n filter_checkboxes: document.querySelectorAll('.l-object-comparison__checkbox'),\n content: document.querySelector('.l-object-comparison__content'),\n input: document.querySelectorAll('.l-object-comparison__input'),\n button_add_new: document.querySelector('.l-object-comparison__add-new'),\n hide_all: document.querySelector('.i-icon_collapse-all'),\n scroll_wrapper: document.querySelector('.l-object-comparison__table-wrap')\n };\n\n this.data = {\n page: 1\n };\n this.pagingStatus = pagingStatus.CAN_REQUEST;\n\n this.widgets = {\n modal: undefined\n };\n\n this.object_card_url = `/agreements/${get_context('object').object.contract_id}/journal/${location.hash.slice(1)}`;\n // this.object_card_url = `/agreements/${get_context('object').object.contract_id}/catalog/object/${this.params.object_id}/`;\n\n this._bind();\n this._init_tab();\n this._generate_filter_data();\n }\n\n _bind() {\n each(this.dom.input, item => {\n item.addEventListener('input', () => {\n let checkbox = document.querySelector('input[data-name=' + item.name + ']');\n if (checkbox.checked) {\n clearTimeout(this.search_timer);\n this.search_timer = setTimeout(function () {\n this._generate_filter_data();\n }.bind(this), 500);\n }\n });\n });\n\n each(this.dom.button_copy_default, item => {\n item.addEventListener('click', event => {\n this._copy_default(event);\n this._generate_filter_data();\n });\n });\n\n each(this.dom.filter_checkboxes, item => {\n item.addEventListener('click', () => {\n this._generate_filter_data();\n });\n });\n\n this.dom.content.addEventListener('click', event => {\n if (event.target.classList.contains('l-object-comparison__button-connect')) {\n this._create_modal(event);\n }\n });\n this.dom.button_add_new.addEventListener('click', event => {\n this._create_modal(event);\n });\n\n this.dom.scroll_wrapper.addEventListener('scroll', event => {\n this._scroll_event();\n });\n }\n\n\n /**\n * Сбор данных с полей фильра\n * @private\n */\n _generate_filter_data() {\n this.data = { page: 1 };\n this.pagingStatus = pagingStatus.CAN_REQUEST;\n each(this.dom.filter_checkboxes, item => {\n if (item.checked) {\n let input_name = item.getAttribute('data-name');\n let input = document.querySelector('[name=' + input_name + ']');\n this.data[input_name + '_like'] = input.value.trim();\n }\n });\n this._render_content();\n }\n\n\n /**\n * Возвращает дефолтные значение в соответсвующее поле\n * @param event\n * @private\n */\n _copy_default(event) {\n let input_name = event.target.getAttribute('data-name');\n let input = document.querySelector('[name=' + input_name + ']');\n input.value = event.target.getAttribute('data-value');\n }\n\n\n /**\n * Инициализация iTab для таблицы с контентом\n * @private\n */\n _init_tab() {\n\n this.tabs = new iTab({\n buttons: document.querySelectorAll('.i-icon_collapse-one'),\n boxes: document.querySelectorAll('.b-table__wrap-row-content'),\n button_active_class: 'i-icon_collapse-one_active',\n active: null,\n is_toggle: true,\n is_multiple: true\n });\n\n this.tabs.attach('CHANGE', event => {\n if (event.active >= 0) {\n let buttons_list = document.querySelectorAll('.i-icon_collapse-one');\n let box_list = document.querySelectorAll('.b-table__wrap-row-content');\n let current_button = buttons_list[event.active];\n let button_parent = closest(current_button, '.b-table__wrap-row-title');\n\n button_parent.classList.toggle('b-table__wrap-row-title_active');\n\n this.dom.hide_all.addEventListener('click', event => {\n each(box_list, (item, index) => {\n buttons_list[index].classList.remove('i-icon_collapse-one_active');\n closest(buttons_list[index], '.b-table__wrap-row-title').classList.remove('b-table__wrap-row-title_active');\n item.classList.add('hidden');\n });\n });\n }\n });\n }\n\n _reinit_tab() {\n if (!this.tabs) return;\n\n this.tabs.reset({\n buttons: document.querySelectorAll('.i-icon_collapse-one'),\n boxes: document.querySelectorAll('.b-table__wrap-row-content')\n });\n }\n\n\n /**\n * Создание модального окна сопоставления\n * @param event\n * @private\n */\n _create_modal(event) {\n let target = event.target;\n let id = target.getAttribute('data-id');\n let action = id ? 'Сопоставить':'Создать новый';\n\n this.widgets.modal = get_widget(target, 'iModal');\n\n if (!this.widgets.modal) {\n this.widgets.modal = new iModal(this.render(modal_template, {action: action}), {\n node_link: target,\n strict_hide: true\n });\n\n let submit_button = this.widgets.modal.element.querySelector('.l-object-comparison__button-submit');\n let b_button_widget = get_widget(submit_button, 'bButtonSubmit');\n\n submit_button.addEventListener('click', () => {\n b_button_widget.block_button();\n if (id) {\n post('/api/red/contract/object/track/connect', {id: this.params.object_id, track_id: id}, response => {\n response = parse_json(response);\n if (response.success) {\n location.replace(this.object_card_url);\n }\n b_button_widget.unblock_button();\n });\n } else {\n post('/api/red/contract/object/track/add', {id: this.params.object_id}, response => {\n response = parse_json(response);\n if (response.success) {\n location.replace(this.object_card_url);\n }\n b_button_widget.unblock_button();\n });\n }\n });\n }\n\n this.widgets.modal.show();\n\n this.widgets.modal.element.querySelector('.b-modal__close').addEventListener('click', () => {\n this.widgets.modal.hide();\n });\n }\n\n\n /**\n * Перерисовка таблицы в соответсвии с примененнными фильтрами\n * @private\n */\n _render_content() {\n post('/api/red/track/list', this.data, response => {\n response = parse_json(response);\n this.dom.content.innerHTML = this.render(table_content, response.data);\n this._init_tab();\n\n if (response.data.item_list && response.data.item_list.length < 100) {\n this.pagingStatus = pagingStatus.ALL_LOADED;\n }\n }, error => {\n this.dom.content.innerHTML = this.render(table_content, {timeout_error: 1});\n this._init_tab();\n });\n }\n\n _scroll_event() {\n let wrappedRect = this.dom.scroll_wrapper.getBoundingClientRect();\n let contentRect = this.dom.content.getBoundingClientRect();\n let triggerValue = (contentRect.height - contentRect.height * 0.1) - wrappedRect.height;\n\n if (this.dom.scroll_wrapper.scrollTop >= triggerValue) {\n this._next_page();\n }\n }\n\n _next_page() {\n if (this.pagingStatus != pagingStatus.CAN_REQUEST) return;\n\n this.pagingStatus = pagingStatus.PENDING;\n\n let data = Object.assign({}, this.data, { page: this.data.page + 1 });\n\n post('/api/red/track/list', data, response => {\n response = parse_json(response);\n\n this.pagingStatus = response.data.item_list && response.data.item_list.length >= 100 ? pagingStatus.CAN_REQUEST : pagingStatus.ALL_LOADED;\n ++this.data.page;\n\n this.dom.content.insertAdjacentHTML('beforeEnd', this.render(table_content, response.data));\n this._reinit_tab();\n });\n }\n}\n\nRouter.add_page(ObjectComparison);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/object_comparison.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"./l-object-comparison__table-content.html\"] = require( \"./l-object-comparison__table-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-object_comparison/l-object-comparison.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-object_comparison/l-object-comparison.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n\\n \\n\\n
\\n
\\n
\\n Загруженная фонограмма\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n Наименование:\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_name\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_name\"), env.opts.autoescape);\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \\n Изготовитель:  \\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_publisher\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_publisher\"), env.opts.autoescape);\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n Год опубликования:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_public_year\"), env.opts.autoescape);\noutput += \"Авторы музыки:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_author_music\"), env.opts.autoescape);\noutput += \"ICPN:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_icpn\"), env.opts.autoescape);\noutput += \"
\\n Исполнитель:  \\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_performers\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_performers\"), env.opts.autoescape);\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \\n Альбом:  \\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_album_name\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_album_name\"), env.opts.autoescape);\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n Хронометраж:  \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_duration\")?env.getFilter(\"convert_second\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_duration\")):\"\"), env.opts.autoescape);\noutput += \"Авторы текста:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_author_text\"), env.opts.autoescape);\noutput += \"ISRC:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_isrc\"), env.opts.autoescape);\noutput += \"
\\n
\\n\\n
\\n
Варианты для сопоставления
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"./l-object-comparison__table-content.html\", false, \"../templates/l-object_comparison/l-object-comparison.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n \\n
\\n
\\n \\n \\n
Наименование
\\n
\\n
\\n
\\n \\n \\n
Исполнители
\\n
\\n
\\n
\\n \\n \\n
Изготовители
\\n
\\n
\\n
\\n \\n \\n
Альбом
\\n
\\n
\\n
\\n \\n \\n
ISRC
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-object_comparison/l-object-comparison.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-object_comparison/l-object-comparison.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-object_comparison/l-object-comparison__table-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nif(!runtime.contextOrFrameLookup(context, frame, \"timeout_error\")) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = runtime.contextOrFrameLookup(context, frame, \"item_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"track\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"performers\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"publisher\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"album_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"isrc\"), env.opts.autoescape);\noutput += \"\\n \\n \";\nif(runtime.memberLookup((t_4),\"have_rights\")) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Авторы музыки: \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"author_music\"), env.opts.autoescape);\noutput += \"Авторы текста: \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"author_text\"), env.opts.autoescape);\noutput += \"Год опубликования: \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"public_year\"), env.opts.autoescape);\noutput += \"Хронометраж: \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"duration\")?env.getFilter(\"convert_second\").call(context, runtime.memberLookup((t_4),\"duration\")):\"\"), env.opts.autoescape);\noutput += \"ICPN: \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"icpn\"), env.opts.autoescape);\noutput += \"
\\n \\n \\n \";\n;\n}\n}\nif (!t_2) {\noutput += \"\\n \\n Не найдено записей\\n \\n \";\n}\nframe = frame.pop();\noutput += \"\\n\";\n;\n}\nelse {\noutput += \"\\n \\n Ошибка получения данных. Попробуйте перезагрузить страницу\\n \\n\";\n;\n}\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-object_comparison/l-object-comparison__table-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-object_comparison/l-object-comparison__table-content.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-object_comparison/l-object-comparison__modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"action\"), env.opts.autoescape);\noutput += \" объект?\\n
\\n\\n\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-object_comparison/l-object-comparison__modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-object_comparison/l-object-comparison__modal.html","import template from '../templates/l-agreement-catalog-object/l-agreement-catalog-object.html'\nimport table_content from '../templates/l-agreement-catalog-object/l-agreement-catalog-object__rights-table-content.html'\nimport modal_template from '../templates/l-agreement-catalog-object/l-agreement-catalog-object__modal-rights.html'\nimport Controller from '../controller'\nimport Router from 'blocko/router'\nimport {each, post, parse_json, get_widget} from 'blocko/helpers'\nimport {get_context} from 'blocko/functions/context'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\nimport bErrorModal from '../templates/b-error-modal/b-error-modal.html'\n\n\nclass AgreementCatalogObject extends Controller {\n\n static get route() {\n return '/agreements//catalog/object//';\n }\n\n constructor(params) {\n super();\n\n super.prepare_context({\n object: {\n path: '/api/red/contract/object/get',\n data: {\n id: params.object_id,\n with: 'track,contract'\n },\n handler: response => {\n if (!response.success) {\n this.abort(404);\n }\n }\n },\n check_for_delete: {\n path: '/api/red/contract/object/check_for_delete',\n data: {\n id: params.object_id\n },\n handler: response => {\n this.add('ready_for_delete', response.success == 1);\n }\n }\n });\n\n this.params = params;\n\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n titles: document.querySelectorAll('.l-agreement-catalog-object__title'),\n boxes: document.querySelectorAll('.l-agreement-catalog-object__box'),\n content: undefined,\n button_add_right: undefined,\n select_status: document.querySelector('.l-agreement-catalog__select-status'),\n delete_button: document.querySelector('.l-agreement-catalog-object__delete-button')\n };\n\n this.widgets = {\n sort: undefined,\n b_modal: get_widget(document.querySelector('.l-agreement-catalog-object__button-edit'), 'bModal'),\n confirm_change_status: get_widget(this.dom.select_status, 'bConfirmModal'),\n modal: undefined\n };\n\n this.rights_data = undefined;\n this.object_track_id = get_context('object').object.track_id;\n\n this.data = {\n track_id: this.object_track_id,\n contract_id: this.params.agreement_id,\n order_by: 'date_begin:asc'\n };\n\n this._track_right_list();\n this._bind();\n }\n\n _bind() {\n\n each(this.dom.titles, (item, index) => {\n item.addEventListener('click', () => {\n this.dom.boxes[index].classList.toggle('hidden');\n item.querySelector('.i-icon').classList.toggle('i-icon_arrow-down');\n item.querySelector('.i-icon').classList.toggle('i-icon_arrow-right');\n });\n });\n\n this.widgets.b_modal.modal.attach('hide', () => {\n let form_widget = get_widget(this.widgets.b_modal.modal.dom.box.querySelector('.i-ajax-form'), 'iForm');\n let ajax_form = get_widget(this.widgets.b_modal.modal.dom.box.querySelector('.i-ajax-form'), 'iAjaxForm');\n form_widget.reset();\n form_widget.clear_error_message();\n ajax_form.clear_error();\n });\n\n this.dom.select_status.addEventListener('change', event => {\n let status_name = event.target.selectedOptions[0].text;\n let track_name = this.get_param('object').object.track_name;\n this.widgets.confirm_change_status.change_content(\n `Вы действительно хотите перевести объект каталога ${track_name} в статус \"${status_name}\" ?`\n );\n });\n this.widgets.confirm_change_status.attach('confirm', this._status_change.bind(this));\n this.widgets.confirm_change_status.attach('cancel', () => {\n this.dom.select_status.value = this.dom.select_status.options[0].value;\n });\n\n if (this.dom.delete_button) {\n this.dom.delete_button.addEventListener('click', () => {\n this.delete_object();\n });\n }\n }\n\n /**\n * Если объект сопоставлен с треком - рендерит таблицу и вешает эвенты\n * @private\n */\n _track_right_list() {\n if (this.object_track_id) {\n\n this.widgets.sort = get_widget(document.querySelector('.b-table__row'), 'bTableSort');\n\n this.widgets.sort.attach('sort_click', widget => {\n this._sort(widget);\n });\n\n this.dom.content = document.querySelector('.l-agreement-catalog-object__rights-table-content');\n this.dom.button_add_right = document.querySelector('.l-agreement-catalog-object__add-right-button');\n\n this.dom.button_add_right.addEventListener('click', event => {\n this._show_modal(event, 'add');\n });\n\n this.dom.content.addEventListener('click', event => {\n if (event.target.classList.contains('l-agreement-catalog-object__edit-right-button')) {\n this._show_modal(event, 'edit');\n }\n });\n\n this._render_content();\n }\n }\n\n\n /**\n * Сортировка\n * @param widget\n * @private\n */\n _sort(widget) {\n Object.assign(this.data, {'order_by': widget.order_by});\n this._render_content();\n }\n\n\n /**\n * Перерисовка таблицы в соответсвии с примененнными фильтрами, сортировками и поисками\n * @private\n */\n _render_content() {\n post('/api/red/track/right/list', this.data, response => {\n response = parse_json(response);\n this.rights_data = response.data;\n this.dom.content.innerHTML = this.render(table_content, {rights: response.data, timeout_error: 0});\n }, error => {\n this.dom.content.innerHTML = this.render(table_content, {timeout_error: 1});\n });\n }\n\n\n /**\n * Изменение статуса объекта каталога\n * @private\n */\n _status_change() {\n post('/api/red/contract/object/status', {\n id: this.params.object_id,\n status: this.dom.select_status.value\n }, response => {\n response = parse_json(response);\n if (response.success) {\n location.reload();\n } else {\n this.dom.select_status.value = this.dom.select_status.options[0].value;\n }\n });\n }\n\n\n /**\n * Создание модального окна\n * @param event\n * @param action\n * @private\n */\n _show_modal(event, action) {\n let button = event.target;\n this.widgets.modal = get_widget(button, 'iModal');\n\n if (!this.widgets.modal) {\n let data = {action: action, object: get_context('object')};\n\n if (action === 'edit') {\n data.content = this.rights_data.right_list.find(item => {\n if (item.id == button.getAttribute('data-id')) {\n return item;\n }\n });\n }\n\n this.widgets.modal = new iModal(this.render(modal_template, {data: data}), {\n node_link: event.target,\n strict_hide: true\n });\n\n this.widgets.modal.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n this.widgets.modal.hide();\n });\n\n this.widgets.modal.attach('hide', () => {\n let form_widget = get_widget(this.widgets.modal.dom.box.querySelector('.i-ajax-form'), 'iForm');\n let ajax_form = get_widget(this.widgets.modal.dom.box.querySelector('.i-ajax-form'), 'iAjaxForm');\n form_widget.reset();\n form_widget.clear_error_message();\n ajax_form.clear_error();\n });\n }\n\n this.widgets.modal.show();\n }\n\n delete_object() {\n post('/api/red/contract/object/delete', { id: this.params.object_id }, response => {\n response = JSON.parse(response);\n\n if (response.success) {\n location = `/agreements/${this.params.agreement_id}/catalog/`;\n } else {\n let message = response.errors.remove;\n let template = this.render(bErrorModal, { message });\n let modal = get_widget(this.dom.delete_button, 'iModal');\n\n if (!modal) {\n modal = new iModal(template, { node_link: this.dom.delete_button });\n } else {\n modal.change_body(template);\n }\n\n modal.show();\n }\n });\n }\n}\n\nRouter.add_page(AgreementCatalogObject);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/agreement_catalog_object.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"../l-agreement-catalog-object/l-agreement-catalog-object__block-track-info.html\"] = require( \"../l-agreement-catalog-object/l-agreement-catalog-object__block-track-info.html\" );\ndependencies[\"../l-agreement-catalog-object/l-agreement-catalog-object__block-parameters.html\"] = require( \"../l-agreement-catalog-object/l-agreement-catalog-object__block-parameters.html\" );\ndependencies[\"../l-agreement-catalog-object/l-agreement-catalog-object__block-load-data.html\"] = require( \"../l-agreement-catalog-object/l-agreement-catalog-object__block-load-data.html\" );\ndependencies[\"../l-agreement-catalog-object/l-agreement-catalog-object__block-rights.html\"] = require( \"../l-agreement-catalog-object/l-agreement-catalog-object__block-rights.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-catalog-object/l-agreement-catalog-object.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-agreement-catalog-object/l-agreement-catalog-object.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n \\n
\\n Перейти в:\\n Журнал загрузок\\n
\\n
\\n
\\n \";\nenv.getTemplate(\"../l-agreement-catalog-object/l-agreement-catalog-object__block-track-info.html\", false, \"../templates/l-agreement-catalog-object/l-agreement-catalog-object.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n
\\n
\\n \";\nenv.getTemplate(\"../l-agreement-catalog-object/l-agreement-catalog-object__block-parameters.html\", false, \"../templates/l-agreement-catalog-object/l-agreement-catalog-object.html\", null, function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nt_9.render(context.getVariables(), frame, function(t_12,t_10) {\nif(t_12) { cb(t_12); return; }\noutput += t_10\noutput += \"\\n
\\n
\\n \";\nenv.getTemplate(\"../l-agreement-catalog-object/l-agreement-catalog-object__block-load-data.html\", false, \"../templates/l-agreement-catalog-object/l-agreement-catalog-object.html\", null, function(t_15,t_13) {\nif(t_15) { cb(t_15); return; }\nt_13.render(context.getVariables(), frame, function(t_16,t_14) {\nif(t_16) { cb(t_16); return; }\noutput += t_14\noutput += \"\\n
\\n
\\n \";\nenv.getTemplate(\"../l-agreement-catalog-object/l-agreement-catalog-object__block-rights.html\", false, \"../templates/l-agreement-catalog-object/l-agreement-catalog-object.html\", null, function(t_19,t_17) {\nif(t_19) { cb(t_19); return; }\nt_17.render(context.getVariables(), frame, function(t_20,t_18) {\nif(t_20) { cb(t_20); return; }\noutput += t_18\noutput += \"\\n
\\n
\\n
\\n\";\ncb(null, output);\n})})})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-catalog-object/l-agreement-catalog-object.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-catalog-object/l-agreement-catalog-object.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-catalog-object/l-agreement-catalog-object__block-track-info.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n \\n Объект права\\n
\\n
\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"ready_for_delete\")) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"status\") == 1 || runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"status\") == 3 || runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"status\") == 4) {\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n Сопоставить\\n \";\n;\n}\noutput += \"\\n
\\n\\n
\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_id\")) {\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Наименование:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track\")),\"name\"), env.opts.autoescape);\noutput += \"Авторы музыки:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track\")),\"author_music\"), env.opts.autoescape);\noutput += \"Год опубликования:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track\")),\"public_year\"), env.opts.autoescape);\noutput += \"ICPN:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track\")),\"icpn\"), env.opts.autoescape);\noutput += \"
Исполнители:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track\")),\"performers\"), env.opts.autoescape);\noutput += \"Авторы текста:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track\")),\"author_text\"), env.opts.autoescape);\noutput += \"Хронометраж:  \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_duration\")?env.getFilter(\"convert_second\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track\")),\"duration\")):\"\"), env.opts.autoescape);\noutput += \"ISRC:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track\")),\"isrc\"), env.opts.autoescape);\noutput += \"
Изготовители:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track\")),\"publisher\"), env.opts.autoescape);\noutput += \"Альбом (сингл):  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track\")),\"album_name\"), env.opts.autoescape);\noutput += \"Статус (ОП):  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track\")),\"status_name\"), env.opts.autoescape);\noutput += \"
\\n \";\n;\n}\noutput += \"\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-catalog-object/l-agreement-catalog-object__block-track-info.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-catalog-object/l-agreement-catalog-object__block-track-info.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-catalog-object/l-agreement-catalog-object__block-parameters.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n \\n Параметры записи каталога\\n
\\n\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n Дата загрузки:\\n  \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"ctime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"ctime\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})):\"\"), env.opts.autoescape);\noutput += \"\\n \\n Дата актуальности:\\n  \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"date_actuality\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"date_actuality\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})):\"\"), env.opts.autoescape);\noutput += \"\\n \\n Статус объекта каталога:\\n  \\n \\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"status\") == 4) {\noutput += \"\\n \\n \";\n;\n}\nelse {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-catalog-object/l-agreement-catalog-object__block-parameters.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-catalog-object/l-agreement-catalog-object__block-parameters.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"./l-agreement-catalog-object__modal-object.html\"] = require( \"./l-agreement-catalog-object__modal-object.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-catalog-object/l-agreement-catalog-object__block-load-data.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n \\n Данные загрузки\\n
\\n
\\n Изменить\\n \\n
\\n\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
№ п/п:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"file_line\"), env.opts.autoescape);\noutput += \"Альбом (сингл):  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_album_name\"), env.opts.autoescape);\noutput += \"Дата начала:  \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"date_begin\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"date_begin\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})):\"\"), env.opts.autoescape);\noutput += \"
Наименование:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_name\"), env.opts.autoescape);\noutput += \"Хронометраж:  \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_duration\")?env.getFilter(\"convert_second\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_duration\")):\"\"), env.opts.autoescape);\noutput += \"Дата окончания:  \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"date_end\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"date_end\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})):\"\"), env.opts.autoescape);\noutput += \"
Исполнители:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_performers\"), env.opts.autoescape);\noutput += \"Доля прав:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"percent\"), env.opts.autoescape);\noutput += \"ICPN:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_icpn\"), env.opts.autoescape);\noutput += \"
Изготовители:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_publisher\"), env.opts.autoescape);\noutput += \"Год опубликования:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_public_year\"), env.opts.autoescape);\noutput += \"ISRC:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_isrc\"), env.opts.autoescape);\noutput += \"
Авторы музыки:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_author_music\"), env.opts.autoescape);\noutput += \"Территория:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_territory\"), env.opts.autoescape);\noutput += \"Код по каталогу ПО:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_owner_code\"), env.opts.autoescape);\noutput += \"
Авторы текста:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_author_text\"), env.opts.autoescape);\noutput += \"Основание:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"pud\"), env.opts.autoescape);\noutput += \"Имя медиафайла:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_file_name\"), env.opts.autoescape);\noutput += \"
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-catalog-object/l-agreement-catalog-object__block-load-data.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-catalog-object/l-agreement-catalog-object__block-load-data.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-catalog-object/l-agreement-catalog-object__modal-object.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n\\n
\\n Изменение объекта каталога\\n
\\n\\n \\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-catalog-object/l-agreement-catalog-object__modal-object.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-catalog-object/l-agreement-catalog-object__modal-object.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"../l-agreement-catalog-object/l-agreement-catalog-object__rights-table-content.html\"] = require( \"../l-agreement-catalog-object/l-agreement-catalog-object__rights-table-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-catalog-object/l-agreement-catalog-object__block-rights.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"object\")),\"object\")),\"track_id\")) {\noutput += \"\\n
\\n \\n Права по объекту\\n
\\n
\\n \\n
\\n\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-agreement-catalog-object/l-agreement-catalog-object__rights-table-content.html\", false, \"../templates/l-agreement-catalog-object/l-agreement-catalog-object__block-rights.html\", null, function(t_3,t_1) {\nif(t_3) { cb(t_3); return; }\nt_1.render(context.getVariables(), frame, function(t_4,t_2) {\nif(t_4) { cb(t_4); return; }\noutput += t_2\noutput += \"\\n \\n
Доля прав\\n Дата начала\\n \\n Дата окончанияТерритория\\n Статус\\n \\n
\\n
\\n\";\n})});\n}\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-catalog-object/l-agreement-catalog-object__block-rights.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-catalog-object/l-agreement-catalog-object__block-rights.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-catalog-object/l-agreement-catalog-object__rights-table-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nif(!runtime.contextOrFrameLookup(context, frame, \"timeout_error\")) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rights\")),\"right_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(env.getFilter(\"round\").call(context, runtime.memberLookup((t_4),\"percent\"),3), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_begin\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_begin\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_end\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_end\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"track_territory\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\n;\n}\n}\nif (!t_2) {\noutput += \"\\n \\n Не найдено записей\\n \\n \";\n}\nframe = frame.pop();\noutput += \"\\n\";\n;\n}\nelse {\noutput += \"\\n \\n Ошибка получения данных. Попробуйте перезагрузить страницу\\n \\n\";\n;\n}\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-catalog-object/l-agreement-catalog-object__rights-table-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-catalog-object/l-agreement-catalog-object__rights-table-content.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-catalog-object/l-agreement-catalog-object__modal-rights.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"content\")),\"id\")) {\noutput += \"Изменение\";\n;\n}\nelse {\noutput += \"Создание\";\n;\n}\noutput += \" прав на объект\\n
\\n\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"content\")),\"id\")) {\noutput += \"\\n \\n \";\n;\n}\nelse {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n\\n
\\n
\\n Правообладатель\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"object\")),\"object\")),\"contract\")),\"contragent_name_inner\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n Договор\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"object\")),\"object\")),\"contract\")),\"num\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n Вид прав\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"object\")),\"object\")),\"contract\")),\"type_right_type_name\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n Наименование\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"object\")),\"object\")),\"track\")),\"name\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n Изготовитель\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"object\")),\"object\")),\"track\")),\"publisher\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n Исполнитель\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"object\")),\"object\")),\"track\")),\"performers\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n
\\n Автор музыки\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"object\")),\"object\")),\"track\")),\"author_music\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n Автор текста\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"object\")),\"object\")),\"track\")),\"author_text\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-catalog-object/l-agreement-catalog-object__modal-rights.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-catalog-object/l-agreement-catalog-object__modal-rights.html","import template from '../templates/l-agreement-journal/l-agreement-journal.html'\nimport table_content from '../templates/l-agreement-journal/l-agreement-journal__table-content.html'\nimport Controller from '../controller'\nimport Router from 'blocko/router'\nimport {post, parse_json, get_widget, convert_date, each, closest, attach_event, plural_form} from 'blocko/helpers'\nimport iTab from 'blocko/widgets/i-tab/i-tab'\nimport iChecker from 'blocko/widgets/i-checker/i-checker'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\nimport confirm_modal from '../templates/b-confirm-modal/b-confirm-modal.html'\nimport tracks_modal from '../templates/b-tracks-modal/b-tracks-modal.html'\n\nconst DEFAULT_PAGE = {page: 1};\nconst TABLE_ROW_COUNT = 100;\nconst max_file_size = 5000000000;\nconst STATUS_NOT_FOUND = {\n status: 3\n};\nconst DEFAULT_FILTER = {\n status: '',\n track_id: '',\n file_id: '',\n date_begin: '',\n date_end: ''\n};\nconst DEFAULT_QUERY = {\n with: 'track',\n order_by: 'track_name:asc',\n rows: TABLE_ROW_COUNT,\n page: 1\n};\nconst DATE_FILTER_POSTFIX = {\n begin: ':>=',\n end: ':<='\n};\nconst MAX_DATE = '4102358400:<=';\nconst MIN_DATE = '631152000:>=';\n\nconst FIELD_LIST = {\n date_actuality: 'Дата актуальности',\n file_line: 'Дата актуальности',\n track_name: 'Наименование',\n track_performers: 'Исполнители',\n track_publisher: 'Изготовитель',\n track_author_text: 'Авторы текста',\n track_album_name: 'Альбом',\n track_duration: 'Хронометраж',\n track_public_year: 'Год опубликов.',\n percent: 'Доля прав',\n pud: 'Основание',\n date_begin: 'Дата начала действия',\n date_end: 'Дата окончания действия',\n track_territory: 'Территория',\n track_isrc: 'ISRC',\n track_icpn: 'ICPN (UPC или EAN)',\n track_owner_code: 'Код фонограммы в каталоге правообладателя',\n track_vois_id: 'Код фонограммы в реестре ВОИС',\n track_file_name: 'Имя медиафайла',\n};\n\n\nclass AgreementJournal extends Controller {\n\n static get route() {\n return '/agreements//journal/';\n }\n\n constructor(params, query) {\n super();\n\n super.add('field_list', FIELD_LIST);\n\n this.params = params;\n\n /**\n * Объект параметров GET-запроса\n * @type {{}}\n */\n this.query = Object.assign({}, {contract_id: params.agreement_id}, DEFAULT_QUERY, query);\n\n /**\n * Объект параметров фильтра\n * @type {{}}\n */\n this.filter_data = {};\n Object.assign(this.filter_data, this.query);\n\n if (this.query.date_begin && this.query.date_end) {\n if (this.query.date_begin == MAX_DATE) {\n this.filter_data.begin = this.query.date_end.slice(0, -3);\n } else if (this.query.date_end == MIN_DATE) {\n this.filter_data.end = this.query.date_begin.slice(0, -3);\n } else {\n this.filter_data.begin = this.query.date_end.slice(0, -3);\n this.filter_data.end = this.query.date_begin.slice(0, -3);\n }\n }\n let requests = {};\n requests['objects'] = {\n path: '/api/red/contract/object/list',\n data: this.query,\n error: (data, response_text, xhr) => {\n if (xhr.status === 504) {\n this.add('timeout_error', 1);\n }\n }\n };\n\n requests['contract'] = {\n path: '/api/red/contract/get',\n data: {\n id: params.agreement_id,\n with: 'catalogs'\n },\n handler: response => {\n if (!response.success) {\n this.abort(404);\n }\n }\n };\n\n if (this.query.file_id) {\n requests['file'] = {\n path: '/api/red/contract/object/file/get',\n data: {\n id: this.query.file_id\n },\n handler: response => {\n if (response.success) {\n this.filter_data.file_name = response.data.file.filename;\n }\n }\n };\n }\n\n if (this.query.track_id) {\n requests['track'] = {\n path: '/api/red/track/get',\n data: {\n id: this.query.track_id\n },\n handler: response => {\n if (response.success) {\n this.filter_data.track_name = response.data.item.name + ' - ' + response.data.item.performers;\n }\n }\n };\n }\n\n super.prepare_context(requests);\n super.add('filter_data', this.filter_data);\n\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n content: document.querySelector('.l-agreement-journal__table-content'),\n table: document.querySelector('.l-agreement-journal__table'),\n table_wrap: document.querySelector('.l-agreement-journal__table-wrap'),\n button_reload: document.querySelector('.l-agreement-journal__button-reload'),\n spoiler_title: document.querySelector('.l-agreement-journal__block-title'),\n spoiler_box: document.querySelector('.l-agreement-journal__box'),\n status_selector: document.querySelector('.l-agreement-journal__status-selector'),\n input_file: document.querySelector('.l-agreement-journal__input-file'),\n input_original_name: document.querySelector('.l-agreement-journal__file-original-name'),\n input_info_date: document.querySelector('.l-agreement-journal__input-info-date'),\n icon: document.querySelector('.l-agreement-journal__block-icon'),\n hide_all: document.querySelector('.i-icon_collapse-all'),\n panel: document.querySelector('.l-agreement-journal__footer-panel'),\n panel_from: document.querySelector('.l-agreement-journal__footer-panel-form'),\n panel_input_date_from: document.querySelector('.l-agreement-journal__footer-panel-date-from'),\n panel_input_date_to: document.querySelector('.l-agreement-journal__footer-panel-date-to'),\n panel_select_status: document.querySelector('.l-agreement-journal__footer-panel-select-status'),\n panel_territory_input: document.querySelector('.l-agreement-journal__footer-panel-territory'),\n panel_confirm_button: document.querySelector('.l-agreement-journal__footer-panel-confirm'),\n panel_error: document.querySelector('.l-agreement-journal__footer-panel-error'),\n check_all_button: document.querySelector('.l-agreement-journal__check-all'),\n toCompareLinks: document.querySelectorAll('.l-agreement-journal__to-compare-link'),\n createTracksButton: document.querySelector('.js-create-tracks')\n };\n\n this.widgets = {\n b_search: get_widget(document.querySelector('.l-agreement-journal__search'), 'bSearch'),\n b_filter: get_widget(document.querySelector('.l-agreement-journal__filter'), 'bDropdownFilter'),\n suggest_track: get_widget(document.querySelector('.l-agreement-journal__filter-suggest-track'), 'bInput'),\n suggest_file: get_widget(document.querySelector('.l-agreement-journal__filter-suggest-file'), 'bInput'),\n file_modal: get_widget(document.querySelector('.l-agreement-journal__file-modal'), 'bModal'),\n object_modal: get_widget(document.querySelector('.l-agreement-journal__object-modal'), 'bModal'),\n confirm_change_status: get_widget(this.dom.status_selector, 'bConfirmModal'),\n sort: get_widget(document.querySelector('.b-table__row'), 'bTableSort'),\n checker: undefined,\n panel_form: get_widget(this.dom.panel_from, 'iForm'),\n date_from: get_widget(this.dom.panel_input_date_from, 'bInputMask'),\n date_to: get_widget(this.dom.panel_input_date_to, 'bInputMask')\n };\n\n this.search_timer = 0;\n\n /**\n * Флаг запроса на дорисовку контента\n * @type {boolean}\n */\n if (this.get_param('objects')) {\n this.stop_render = this.get_param('objects').object_list.length !== TABLE_ROW_COUNT;\n } else {\n this.stop_render = undefined;\n }\n\n if (this.dom.panel_confirm_button) {\n this.widgets.panel_confirm = get_widget(this.dom.panel_confirm_button, 'bConfirmModal');\n }\n\n /**\n * Инициализация фильтра по GET параметрам\n */\n this.widgets.b_filter.form_submit(null, false);\n this.contract_object = this.get_param('contract');\n this.default_status = this.dom.status_selector.value;\n this.search_request = null;\n this.suggest_request = null;\n this.checked_tracks = [];\n\n this._bind();\n this._init_tab();\n this._set_sort_icon();\n this._set_current_date();\n this._set_table_height();\n this._init_checker();\n\n this.dom.createTracksButton.addEventListener('click', this._confirm_creation.bind(this))\n }\n\n _bind() {\n this.widgets.b_search.attach('input', this._event_search.bind(this));\n this.widgets.b_search.attach('click', this._clear_search.bind(this));\n this.widgets.b_filter.attach('submit', this._event_filter.bind(this));\n this.widgets.b_filter.attach('change', this._event_filter_close.bind(this));\n this.widgets.b_filter.attach('click', this._event_filter_clear.bind(this));\n this.widgets.suggest_track.node.addEventListener('input', this._event_suggest_track.bind(this));\n this.widgets.suggest_file.node.addEventListener('input', this._event_suggest_file.bind(this));\n this.widgets.suggest_track.attach('suggest_click', (index, event) => {\n this._event_suggest_track_click(index, event);\n });\n this.widgets.suggest_file.attach('suggest_click', (index, event) => {\n this._event_suggest_file_click(index, event);\n });\n\n this.widgets.sort.attach('sort_click', this._sort.bind(this));\n this.widgets.file_modal.modal.attach('hide', this._file_modal_hide.bind(this));\n this.widgets.object_modal.modal.attach('hide', this._object_modal_hide.bind(this));\n this.dom.spoiler_title.addEventListener('click', this._toggle_content.bind(this));\n this.dom.status_selector.addEventListener('change', () => {\n let status_name = event.target.selectedOptions[0].text;\n this.widgets.confirm_change_status.change_content(\n `Вы действительно хотите перевести каталог договора №${this.contract_object.contract.num} в статус \"${status_name}\" ?`\n );\n });\n this.widgets.confirm_change_status.attach('confirm', () => {\n this._change_status();\n });\n this.widgets.confirm_change_status.attach('cancel', () => {\n this.dom.status_selector.value = this.default_status;\n });\n\n this.dom.input_file.addEventListener('change', this._change_file.bind(this));\n this.dom.button_reload.addEventListener('click', this._render_table.bind(this));\n this.dom.table_wrap.addEventListener('scroll', () => {\n this._window_scroll_event();\n });\n\n attach_event(this.dom.panel_confirm_button, 'click', event => {\n\n let valid = false;\n\n if (this.widgets.panel_form.validate()) {\n for (let key in this.widgets.panel_form.dict) {\n if (this.widgets.panel_form.dict[key]) {\n valid = true;\n break;\n } else {\n valid = false;\n }\n }\n }\n\n if (valid) {\n this.dom.panel_error.innerText = '';\n this.widgets.panel_confirm.change_content(`Вы действительно хотите изменить ${this.checked_tracks.length} ${plural_form(this.checked_tracks.length, [' объект', ' объекта', ' объектов'])} права?`);\n } else {\n this.dom.panel_error.innerText = 'Должно быть заполенено хотя бы одно из полей';\n }\n });\n\n this.widgets.panel_confirm.attach('confirm', event => {\n\n let data = new FormData();\n let object_id = '';\n\n each(Object.keys(this.widgets.panel_form.dict), key => {\n if (key == 'date_begin' || key == 'date_end') {\n\n let old_date = this.widgets.panel_form.dict[key];\n let new_date = old_date.split('.');\n new_date.reverse();\n new_date.join('-');\n\n let date = new Date(new_date.join('-')).getTime() / 1000;\n\n if (this.widgets.panel_form.dict[key]) {\n data.append(key, date)\n }\n } else {\n data.append(key, this.widgets.panel_form.dict[key]);\n }\n });\n\n each(this.checked_tracks, item => {\n object_id += item.value + ',';\n });\n\n data.append('id', object_id);\n\n post('/api/red/contract/object/edit_bulk', data, response => {\n response = parse_json(response);\n\n let failed = [];\n let succeed = [];\n let process_text = '';\n\n if (response.success) {\n each(Object.keys(response.data), key => {\n if (response.data[key]) {\n succeed.push(key);\n } else {\n failed.push(key);\n }\n });\n\n if (failed.length) {\n process_text += 'Невозможно обработать - ' + failed.length + plural_form(failed.length, [' запись.', ' записи.', ' записей.']) + ' ';\n }\n\n if (succeed.length) {\n process_text += 'Успешно обработано - ' + succeed.length + plural_form(succeed.length, [' запись.', ' записи.', ' записей.']) + ' ';\n }\n\n each(this.checked_tracks, item => {\n if (succeed.includes(item.value)) {\n item.checked = false;\n }\n });\n\n this.checked_tracks = document.querySelectorAll('.l-agreement-journal__check-item:checked');\n this.dom.panel_error.innerText = process_text;\n\n } else {\n this.dom.panel_error.innerText = response.errmess;\n }\n })\n });\n\n attach_event(this.dom.panel_select_status, 'change', event => {\n if (event.target.value.length) {\n this.dom.panel_input_date_from.setAttribute('disabled', 'disabled');\n this.dom.panel_input_date_to.setAttribute('disabled', 'disabled');\n this.dom.panel_territory_input.setAttribute('disabled', 'disabled');\n } else {\n this.dom.panel_input_date_from.removeAttribute('disabled');\n this.dom.panel_input_date_to.removeAttribute('disabled');\n this.dom.panel_territory_input.removeAttribute('disabled');\n }\n });\n\n attach_event(this.dom.panel_territory_input, 'input', event => {\n if (event.target.value.length) {\n this.dom.panel_select_status.setAttribute('disabled', 'disabled');\n } else if (!this.dom.panel_input_date_from.value.length || !this.dom.panel_input_date_to.value.length) {\n this.dom.panel_select_status.removeAttribute('disabled');\n }\n });\n\n this.widgets.date_from.attach('event', (event, widget) => {\n if (event.target.value.length) {\n this.dom.panel_select_status.setAttribute('disabled', 'disabled');\n this.dom.panel_confirm_button.removeAttribute('disabled');\n } else if (!this.dom.panel_input_date_to.value.length && !event.target.value.length) {\n this.dom.panel_select_status.removeAttribute('disabled');\n }\n });\n\n this.widgets.date_to.attach('event', (event, widget) => {\n if (event.target.value.length) {\n this.dom.panel_select_status.setAttribute('disabled', 'disabled');\n this.dom.panel_confirm_button.removeAttribute('disabled');\n } else if (!this.dom.panel_input_date_from.value.length && !event.target.value.length) {\n this.dom.panel_select_status.removeAttribute('disabled');\n }\n });\n\n attach_event(this.dom.toCompareLinks, \"click\", event => {\n if (location.search) {\n event.target.hash = location.search;\n }\n });\n }\n\n _init_checker() {\n this.widgets.checker = new iChecker(\n this.dom.check_all_button,\n document.querySelectorAll('.l-agreement-journal__check-item')\n );\n\n this.widgets.checker.attach('check', (widget, event) => {\n this.checked_tracks = widget.checked_items;\n\n if (this.checked_tracks.length > 0) {\n this.dom.panel.classList.remove('hidden');\n this.dom.table_wrap.classList.add('l-agreement-journal__table-wrap_pad');\n } else {\n this.dom.panel.classList.add('hidden');\n this.dom.table_wrap.classList.remove('l-agreement-journal__table-wrap_pad');\n this.dom.check_all_button.checked = false;\n }\n });\n }\n\n\n /**\n * Обновление контента таблицы\n * @private\n */\n _render_table() {\n Object.assign(this.query, DEFAULT_PAGE);\n this.search_request = post('/api/red/contract/object/list', this.query, response => {\n response = parse_json(response);\n this.stop_render = response.data.object_list.length < TABLE_ROW_COUNT;\n this.dom.content.innerHTML = this.render(table_content, {objects: response.data, timeout_error: 0});\n this._init_tab();\n this._init_checker();\n }, error => {\n this.dom.content.innerHTML = this.render(table_content, {timeout_error: 1});\n this._init_tab();\n this._init_checker();\n });\n }\n\n\n /**\n * Установка иконок сортировки в соответвии с GET-параметрами\n * @private\n */\n _set_sort_icon() {\n if (this.query.order_by) {\n let name = this.query.order_by.split(':')[0];\n let type = this.query.order_by.split(':')[1];\n this.widgets.sort.manual_sort(name, type);\n }\n }\n\n\n /**\n * Эвент поиска по номеру договора\n * @param widget\n * @private\n */\n _event_search(widget) {\n let value = widget.dom.input.value;\n\n Object.assign(this.query, {'search': value}, DEFAULT_PAGE);\n\n if (!value) {\n delete this.query.search;\n }\n\n if (this.search_request) {\n this.search_request.abort();\n }\n\n clearTimeout(this.search_timer);\n this.search_timer = setTimeout(this._render_table.bind(this), 400);\n }\n\n\n /**\n * Сброс поля поиска\n * @private\n */\n _clear_search() {\n delete this.query.search;\n Object.assign(this.query, DEFAULT_PAGE);\n this.url_for('AgreementJournal', {agreement_id: this.params.agreement_id}, this.query);\n }\n\n\n /**\n * Сортировка\n * @param widget\n * @private\n */\n _sort(widget) {\n Object.assign(this.query, {'order_by': widget.order_by}, DEFAULT_PAGE);\n this.url_for('AgreementJournal', {agreement_id: this.params.agreement_id}, this.query);\n }\n\n\n /**\n * Эвент фильтрции данных\n * @param widget\n * @private\n */\n _event_filter(widget) {\n let period = {};\n\n if (widget.form.dict.date_begin || widget.form.dict.date_end) {\n period = {\n date_begin: this._prepare_date(\n widget.form.dict.date_end ? widget.form.dict.date_end : '31.12.2099',\n 'end'\n ),\n date_end: this._prepare_date(\n widget.form.dict.date_begin ? widget.form.dict.date_begin : '01.01.1990',\n 'begin'\n )\n };\n }\n Object.assign(this.query, widget.form.dict, DEFAULT_PAGE, period);\n\n if (this.query.track_name) {\n delete this.query.track_name;\n } else {\n delete this.query.track_id;\n }\n\n if (this.query.file_name) {\n delete this.query.file_name;\n } else {\n delete this.query.file_id;\n }\n\n this.url_for('AgreementJournal', {agreement_id: this.params.agreement_id}, this.query);\n }\n\n\n /**\n * Эвент сброса одного фильтра\n * @param widget\n * @param event\n * @private\n */\n _event_filter_close(widget, event) {\n let button_name = event.currentTarget.__widget__.name;\n delete this.query[button_name];\n\n if (button_name == 'track_name') {\n delete this.query.track_id;\n } else if (button_name == 'file_name') {\n delete this.query.file_id;\n } else if (button_name == 'date_begin' || button_name == 'date_end') {\n delete this.query.date_begin;\n delete this.query.date_end;\n }\n Object.assign(this.query, DEFAULT_PAGE);\n\n this.url_for('AgreementJournal', {agreement_id: this.params.agreement_id}, this.query);\n }\n\n\n /**\n * Эвент сброса всех фильтров\n * @private\n */\n _event_filter_clear() {\n Object.assign(this.query, DEFAULT_FILTER, DEFAULT_PAGE);\n delete this.query.track_id;\n delete this.query.track_id;\n this.url_for('AgreementJournal', {agreement_id: this.params.agreement_id}, this.query);\n }\n\n\n /**\n * Эвент ввода в саджест фильтра. Объекты договора\n * @param event\n * @private\n */\n _event_suggest_track(event) {\n let value = event.currentTarget.value;\n\n clearTimeout(this.search_timer);\n\n if (value.length > 2) {\n this.search_timer = setTimeout(function () {\n post('/api/red/track/list', {name_like: value}, response => {\n response = parse_json(response);\n\n if (response.success) {\n this.track_id_list = [];\n this.widgets.suggest_track.create_suggest(\n response.data.item_list.map(item => {\n this.track_id_list.push(item.id);\n return item.name + ' - ' + item.performers;\n }),\n 'suggest__box'\n );\n }\n });\n }.bind(this), 300);\n } else {\n this.widgets.suggest_track.create_suggest([], 'suggest__box');\n }\n }\n\n\n /**\n * Эвент ввода в саджест фильтра. Файлы\n * @param event\n * @private\n */\n _event_suggest_file(event) {\n let value = event.currentTarget.value;\n\n clearTimeout(this.search_timer);\n\n if (value.length >= 3) {\n this.search_timer = setTimeout(function () {\n post('/api/red/contract/object/file/list', {\n filename_like: value,\n contract_id: this.params.agreement_id\n }, response => {\n response = parse_json(response);\n\n if (response.success) {\n this.file_id_list = [];\n this.widgets.suggest_file.create_suggest(\n response.data.file_list.map(item => {\n this.file_id_list.push(item.id);\n return item.filename;\n }),\n 'suggest__box'\n );\n }\n });\n }.bind(this), 300);\n }\n }\n\n\n /**\n * Эвент выбора договора из саджест списка. Установка id контрагента.\n * @param index\n * @private\n */\n _event_suggest_track_click(index) {\n this.query.track_id = this.track_id_list[index];\n }\n\n\n /**\n * Эвент выбора договора из саджест списка. Установка id контрагента.\n * @param index\n * @private\n */\n _event_suggest_file_click(index) {\n this.query.file_id = this.file_id_list[index];\n }\n\n\n /**\n * Эвент скрола страницы\n * @private\n */\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n /**\n * Дорисовка контента таблицы при скролле\n * @private\n */\n _next_page() {\n if (this.stop_render) {\n return;\n }\n\n this.stop_render = true;\n this.query.page = parseInt(this.query.page) + 1;\n\n post('/api/red/contract/object/list', this.query, response => {\n response = parse_json(response);\n\n this.dom.content.insertAdjacentHTML('beforeEnd', this.render(table_content, {\n objects: response.data,\n timeout_error: 0\n }));\n this._init_tab();\n this._init_checker();\n\n if (response.data.object_list.length === TABLE_ROW_COUNT) {\n this.stop_render = false;\n }\n }, error => {\n this.dom.content.insertAdjacentHTML('beforeEnd', this.render(table_content, {timeout_error: 1}));\n });\n }\n\n\n /**\n * Евент закрытия модалки файла\n * @private\n */\n _file_modal_hide() {\n let form_widget = get_widget(this.widgets.file_modal.modal.dom.box.querySelector('.i-ajax-form'), 'iForm');\n let ajax_form = get_widget(this.widgets.file_modal.modal.dom.box.querySelector('.i-ajax-form'), 'iAjaxForm');\n form_widget.reset();\n form_widget.clear_error_message();\n ajax_form.clear_error();\n this._set_current_date();\n }\n\n\n /**\n * Евент закрытия модалки объекта\n * @private\n */\n _object_modal_hide() {\n let form_widget = get_widget(this.widgets.object_modal.modal.dom.box.querySelector('.i-ajax-form'), 'iForm');\n let ajax_form = get_widget(this.widgets.object_modal.modal.dom.box.querySelector('.i-ajax-form'), 'iAjaxForm');\n form_widget.reset();\n form_widget.clear_error_message();\n ajax_form.clear_error();\n }\n\n\n /**\n * Показать/скрыть блок с контентом\n * @private\n */\n _toggle_content() {\n this.dom.spoiler_box.classList.toggle('hidden');\n this.dom.icon.classList.toggle('i-icon_arrow-down');\n this.dom.icon.classList.toggle('i-icon_arrow-right');\n this._set_table_height();\n }\n\n\n /**\n * Инициализация iTab для таблицы с контентом\n * @private\n */\n _init_tab() {\n\n\n this.tabs = new iTab({\n buttons: document.querySelectorAll('.i-icon_collapse-one'),\n boxes: document.querySelectorAll('.b-table__wrap-row-content'),\n button_active_class: 'i-icon_collapse-one_active',\n active: null,\n is_toggle: true,\n is_multiple: true\n });\n\n this.tabs.attach('CHANGE', event => {\n if (event.active >= 0) {\n let buttons_list = document.querySelectorAll('.i-icon_collapse-one');\n let box_list = document.querySelectorAll('.b-table__wrap-row-content');\n let current_button = buttons_list[event.active];\n let button_parent = closest(current_button, '.b-table__wrap-row-title');\n\n button_parent.classList.toggle('b-table__wrap-row-title_active');\n\n this.dom.hide_all.addEventListener('click', event => {\n each(box_list, (item, index) => {\n buttons_list[index].classList.remove('i-icon_collapse-one_active');\n closest(buttons_list[index], '.b-table__wrap-row-title').classList.remove('b-table__wrap-row-title_active');\n item.classList.add('hidden');\n });\n });\n }\n });\n\n }\n\n\n /**\n * Смена статуса каталога\n * @private\n */\n _change_status(event) {\n post('/api/red/contract/catalog/status', {\n id: this.contract_object.contract.catalogs[0].id,\n status: this.dom.status_selector.value\n }, response => {\n response = parse_json(response);\n if (response.success) {\n location.reload();\n }\n });\n }\n\n\n /**\n * Заполнение поля \"Имя файла\"\n * @param event\n * @private\n */\n _change_file(event) {\n if (event.target.files.length) {\n let file = event.target.files[0];\n\n if (file.size > max_file_size) {\n this.widgets.ajax_form.set_error('Размер файла слишком большой');\n } else {\n this.dom.input_original_name.value = file.name;\n }\n }\n }\n\n\n /**\n * Предподготавливает дату перед отправкой в АПИ\n * @param date\n * @param action\n * @returns {string}\n * @private\n */\n _prepare_date(date, action) {\n let timestamp = '';\n\n if (date) {\n let parse_date = date.split('.');\n parse_date.reverse();\n parse_date.join('-');\n timestamp = new Date(parse_date.join('-')).getTime() / 1000 + DATE_FILTER_POSTFIX[action];\n }\n return timestamp;\n }\n\n\n /**\n * Устанавливает текущую дату в поле\n * @private\n */\n _set_current_date() {\n this.dom.input_info_date.value = convert_date(Date.now() / 1000, 'number');\n }\n\n\n /**\n * Выставляет высоту таблицы через calc\n * @private\n */\n _set_table_height() {\n let layout_padding = window.getComputedStyle(document.querySelector('.b-layout__content'), null).getPropertyValue('padding-bottom');\n let table_top = this.dom.table_wrap.getBoundingClientRect().top;\n this.dom.table_wrap.style.height = `calc(100vh - ${table_top + parseInt(layout_padding)}px)`;\n }\n\n _confirm_creation(event) {\n if (!this.modal_confirm) {\n this.modal_confirm = new iModal('', {\n node_link: event.target\n });\n\n let tracks_params = this._tracks_params();\n \n if (this.get_param('objects').object_list.length > 0) {\n if (!(tracks_params.status == 3)) {\n const setupModal = (modal) => {\n modal.change_body(this.render(confirm_modal, {\n message: `Для добавления объектов в треки отбираются объекты только со статусом \"Не найдено\".\\n\n Установить необходимые параметры фильтрации?`,\n }));\n modal.dom.box.querySelector('.b-confirm-modal__cancel').addEventListener('click', () => {\n modal.hide();\n });\n modal.dom.box.querySelector('.b-confirm-modal__confirm').addEventListener('click', () => {\n modal.hide();\n this._set_filter();\n });\n };\n \n setupModal(this.modal_confirm);\n } else {\n const setupModal = (modal) => {\n modal.change_body(this.render(confirm_modal, {\n message: 'Вы действительно хотите создать фонограммы по всем ненайденным объектам?',\n }));\n modal.dom.box.querySelector('.b-confirm-modal__cancel').addEventListener('click', () => {\n modal.hide();\n });\n modal.dom.box.querySelector('.b-confirm-modal__confirm').addEventListener('click', () => {\n modal.hide();\n this._create_tracks(event);\n });\n };\n \n setupModal(this.modal_confirm);\n }\n } else {\n const setupModal = (modal) => {\n modal.change_body(this.render(confirm_modal, {\n message: 'Не удалось найти объекты для добавления в треки.',\n }));\n modal.dom.box.querySelector('.b-confirm-modal__cancel').addEventListener('click', () => {\n modal.hide();\n });\n modal.dom.box.querySelector('.b-confirm-modal__confirm').addEventListener('click', () => {\n modal.hide();\n });\n };\n\n setupModal(this.modal_confirm);\n }\n }\n\n this.modal_confirm.show();\n }\n\n _set_filter() {\n Object.assign(this.query, STATUS_NOT_FOUND);\n this.url_for('AgreementJournal', {agreement_id: this.params.agreement_id}, this.query);\n }\n\n _create_tracks(event) {\n this.modal_create = new iModal('', {\n node_link: event.target\n });\n\n const setupModal = (modal, data = {}) => {\n modal.change_body(this.render(tracks_modal, data));\n // modal.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n modal.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n location.reload();\n });\n };\n\n setupModal(this.modal_create);\n\n this.modal_create.attach('hide', () => {\n this.modal_create.show();\n });\n\n this.modal_create.show();\n let tracks_params = JSON.stringify(this._tracks_params());\n\n post('/api/red/task/add?action=track_items_add_new_in_mass_3503', {params: tracks_params}, rawResponse => {\n let response = parse_json(rawResponse);\n if (response.success) {\n setupModal(this.modal_create, response.data);\n\n let status_checker = setInterval(() => {\n post('/api/red/task/get', {id: response.data.task.id, with: 'track'}, rawStatusResponse => {\n let statusResponse = parse_json(rawStatusResponse);\n if (statusResponse.data.task.status === 3 || statusResponse.data.task.status === 4) {\n clearInterval(status_checker);\n }\n\n setupModal(this.modal_create, statusResponse.data);\n });\n }, 10000);\n }\n })\n }\n\n _tracks_params() {\n let period = {};\n\n if (this.widgets.b_filter.form.dict.date_begin || this.widgets.b_filter.form.dict.date_end) {\n period = {\n date_begin: this._prepare_date(\n this.widgets.b_filter.form.dict.date_end ? this.widgets.b_filter.form.dict.date_end : '31.12.2099',\n 'end'\n ),\n date_end: this._prepare_date(\n this.widgets.b_filter.form.dict.date_begin ? this.widgets.b_filter.form.dict.date_begin : '01.01.1990',\n 'begin'\n )\n };\n }\n\n let user_id = this.get_param('current_user').user.id;\n\n let params = period;\n\n Object.assign(params, {search: this.widgets.b_search.dom.input.value},\n {status: this.query.status}, {contract_id: this.query.contract_id}, \n {user_id}, {file_id: this.query.file_id});\n\n // return JSON.stringify(params);\n return params\n }\n}\n\nRouter.add_page(AgreementJournal);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/agreement_journal.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"../l-agreement-journal/l-agreement-journal__block-info.html\"] = require( \"../l-agreement-journal/l-agreement-journal__block-info.html\" );\ndependencies[\"../l-agreement-journal/l-agreement-journal__block-table.html\"] = require( \"../l-agreement-journal/l-agreement-journal__block-table.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-journal/l-agreement-journal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-agreement-journal/l-agreement-journal.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n \\n
\\n Перейти в:\\n Файлы загрузок\\n Журнал загрузок\\n Права\\n
\\n
\\n
\\n \";\nenv.getTemplate(\"../l-agreement-journal/l-agreement-journal__block-info.html\", false, \"../templates/l-agreement-journal/l-agreement-journal.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n
\\n
\\n \";\nenv.getTemplate(\"../l-agreement-journal/l-agreement-journal__block-table.html\", false, \"../templates/l-agreement-journal/l-agreement-journal.html\", null, function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nt_9.render(context.getVariables(), frame, function(t_12,t_10) {\nif(t_12) { cb(t_12); return; }\noutput += t_10\noutput += \"\\n
\\n \\n
\\n\";\ncb(null, output);\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-journal/l-agreement-journal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-journal/l-agreement-journal.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"./l-agreement-journal__modal-add-file.html\"] = require( \"./l-agreement-journal__modal-add-file.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-journal/l-agreement-journal__block-info.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n \\n Информация по каталогу\\n
\\n
\\n Загрузить файл\\n \\n
\\n\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Тип договора\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"type_name\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"type_name\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"\\n Вид прав\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"type_right_type_name\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"type_right_type_name\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"
Правообладатель\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"contragent_name_inner\") && runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"contragent_name_inner\") != \"NULL\") {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"contragent_name_inner\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n -\\n \";\n;\n}\noutput += \"\\n Статус каталога\\n \\n
Номер договора\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"num\")) {\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"num\"), env.opts.autoescape);\n;\n}\nelse {\noutput += \"-\";\n;\n}\noutput += \"\\n
Статус договора\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"status_name\"), env.opts.autoescape);\noutput += \"
\\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-journal/l-agreement-journal__block-info.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-journal/l-agreement-journal__block-info.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-journal/l-agreement-journal__modal-add-file.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Загрузка файла каталога\\n
\\n\\n \\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-journal/l-agreement-journal__modal-add-file.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-journal/l-agreement-journal__modal-add-file.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"../l-agreement-journal/l-agreement-journal__filter.html\"] = require( \"../l-agreement-journal/l-agreement-journal__filter.html\" );\ndependencies[\"./l-agreement-journal__modal-add-object.html\"] = require( \"./l-agreement-journal__modal-add-object.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"./l-agreement-journal__table-content.html\"] = require( \"./l-agreement-journal__table-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-journal/l-agreement-journal__block-table.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-agreement-journal/l-agreement-journal__block-table.html\", false, function(t_2,t_1) {\nif(t_2) { cb(t_2); return; }\nt_1.getExported(function(t_3,t_1) {\nif(t_3) { cb(t_3); return; }\nif(t_1.hasOwnProperty(\"bSearch\")) {\nvar t_4 = t_1.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_4);\noutput += \"\\n \";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-agreement-journal/l-agreement-journal__block-table.html\", false, function(t_6,t_5) {\nif(t_6) { cb(t_6); return; }\nt_5.getExported(function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nif(t_5.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_8 = t_5.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_8);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 5, colno = 16, runtime.callWrap(t_4, \"bSearch\", context, [{\"class\": \"l-agreement-journal__search\"},{\"placeholder\": \"Поиск\",\"value\": runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"filter_data\")),\"search\")}])), env.opts.autoescape);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 12, colno = 29, runtime.callWrap(t_8, \"bDropdownFilter\", context, [\"Фильтры\",\"filter\",runtime.makeKeywordArgs({\"caller\": (function (){var macro_t_9 = runtime.makeMacro(\n[], \n[], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nvar t_10 = \"\";env.getTemplate(\"../l-agreement-journal/l-agreement-journal__filter.html\", false, \"../templates/l-agreement-journal/l-agreement-journal__block-table.html\", null, function(t_13,t_11) {\nif(t_13) { cb(t_13); return; }\nt_11.render(context.getVariables(), frame, function(t_14,t_12) {\nif(t_14) { cb(t_14); return; }\nt_10 += t_12\n})});\nframe = frame.pop();\nreturn new runtime.SafeString(t_10);\n});\nreturn macro_t_9;})()})])), env.opts.autoescape);\noutput += \"\\n\\n \\n
\\n\\n
\\n \\n Добавить объект\\n \\n
\\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-agreement-journal/l-agreement-journal__block-table.html\", null, function(t_21,t_19) {\nif(t_21) { cb(t_21); return; }\nt_19.render(context.getVariables(), frame, function(t_22,t_20) {\nif(t_22) { cb(t_22); return; }\noutput += t_20\noutput += \"\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"./l-agreement-journal__table-content.html\", false, \"../templates/l-agreement-journal/l-agreement-journal__block-table.html\", null, function(t_25,t_23) {\nif(t_25) { cb(t_25); return; }\nt_23.render(context.getVariables(), frame, function(t_26,t_24) {\nif(t_26) { cb(t_26); return; }\noutput += t_24\noutput += \"\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n Загружено\\n
\\n
\\n
\\n Объект права\\n
\\n
\\n
\\n Статус\\n
\\n
\\n
\\n Доля\\n
\\n
\\n
\\n Дата начала\\n
\\n
\\n
\\n Дата окончания\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})})})})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-journal/l-agreement-journal__block-table.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-journal/l-agreement-journal__block-table.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"blocko/widgets/b-input/b-input.html\"] = require( \"blocko/widgets/b-input/b-input.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-journal/l-agreement-journal__filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
\\n
Статус
\\n \\n
\\n
\\n
Объект права
\\n \";\nenv.getTemplate(\"blocko/widgets/b-input/b-input.html\", false, \"../templates/l-agreement-journal/l-agreement-journal__filter.html\", false, function(t_2,t_1) {\nif(t_2) { cb(t_2); return; }\nt_1.getExported(function(t_3,t_1) {\nif(t_3) { cb(t_3); return; }\nif(t_1.hasOwnProperty(\"bInput\")) {\nvar t_4 = t_1.bInput;\n} else {\ncb(new Error(\"cannot import 'bInput'\")); return;\n}\ncontext.setVariable(\"bInput\", t_4);\noutput += \"\\n \";\noutput += runtime.suppressValue((lineno = 19, colno = 19, runtime.callWrap(t_4, \"bInput\", context, [{\"class\": \"l-agreement-journal__filter-suggest-track suggest\",\"name\": \"track_name\",\"data-name\": \"Объект права\",\"autocomplete\": \"off\",\"data-strict\": \"true\",\"value\": runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"filter_data\")),\"track_name\")}])), env.opts.autoescape);\noutput += \"\\n\\n
\\n
\\n
Файл загрузки
\\n \";\nenv.getTemplate(\"blocko/widgets/b-input/b-input.html\", false, \"../templates/l-agreement-journal/l-agreement-journal__filter.html\", false, function(t_6,t_5) {\nif(t_6) { cb(t_6); return; }\nt_5.getExported(function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nif(t_5.hasOwnProperty(\"bInput\")) {\nvar t_8 = t_5.bInput;\n} else {\ncb(new Error(\"cannot import 'bInput'\")); return;\n}\ncontext.setVariable(\"bInput\", t_8);\noutput += \"\\n \";\noutput += runtime.suppressValue((lineno = 32, colno = 19, runtime.callWrap(t_8, \"bInput\", context, [{\"class\": \"l-agreement-journal__filter-suggest-file suggest\",\"name\": \"file_name\",\"data-name\": \"Файл загрузки\",\"autocomplete\": \"off\",\"data-strict\": \"true\",\"value\": runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"filter_data\")),\"file_name\")}])), env.opts.autoescape);\noutput += \"\\n
\\n\\n
\\n
Начало периода
\\n \\n
\\n
\\n
Окончание периода
\\n \\n
\\n\\n
\\n \\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-journal/l-agreement-journal__filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-journal/l-agreement-journal__filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-journal/l-agreement-journal__modal-add-object.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Создание объекта каталога\\n
\\n\\n \\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contract\")),\"contract\")),\"type_right_type\") == 2) {\noutput += \"\\n \\n \\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \";\n;\n}\noutput += \"\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-journal/l-agreement-journal__modal-add-object.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-journal/l-agreement-journal__modal-add-object.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-agreement-journal/l-agreement-journal__table-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nif(!runtime.contextOrFrameLookup(context, frame, \"timeout_error\")) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"objects\")),\"object_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \";\nvar t_5;\nt_5 = 0;\nframe.set(\"has_errors\", t_5, true);\nif(frame.topLevel) {\ncontext.setVariable(\"has_errors\", t_5);\n}\nif(frame.topLevel) {\ncontext.addExport(\"has_errors\", t_5);\n}\noutput += \"\\n \";\nframe = frame.push();\nvar t_8 = runtime.memberLookup((t_4),\"file_row_error\");\nif(t_8) {var t_6;\nif(runtime.isArray(t_8)) {\nvar t_7 = t_8.length;\nfor(t_6=0; t_6 < t_8.length; t_6++) {\nvar t_9 = t_8[t_6][0]\nframe.set(\"item\", t_8[t_6][0]);\nvar t_10 = t_8[t_6][1]\nframe.set(\"key\", t_8[t_6][1]);\nframe.set(\"loop.index\", t_6 + 1);\nframe.set(\"loop.index0\", t_6);\nframe.set(\"loop.revindex\", t_7 - t_6);\nframe.set(\"loop.revindex0\", t_7 - t_6 - 1);\nframe.set(\"loop.first\", t_6 === 0);\nframe.set(\"loop.last\", t_6 === t_7 - 1);\nframe.set(\"loop.length\", t_7);\noutput += \"\\n \";\nif(t_9) {\noutput += \"\\n \";\nvar t_11;\nt_11 = 1;\nframe.set(\"has_errors\", t_11, true);\nif(frame.topLevel) {\ncontext.setVariable(\"has_errors\", t_11);\n}\nif(frame.topLevel) {\ncontext.addExport(\"has_errors\", t_11);\n}\noutput += \"\\n \";\n;\n}\noutput += \"\\n \";\n;\n}\n} else {\nt_6 = -1;\nvar t_7 = runtime.keys(t_8).length;\nfor(var t_12 in t_8) {\nt_6++;\nvar t_13 = t_8[t_12];\nframe.set(\"item\", t_12);\nframe.set(\"key\", t_13);\nframe.set(\"loop.index\", t_6 + 1);\nframe.set(\"loop.index0\", t_6);\nframe.set(\"loop.revindex\", t_7 - t_6);\nframe.set(\"loop.revindex0\", t_7 - t_6 - 1);\nframe.set(\"loop.first\", t_6 === 0);\nframe.set(\"loop.last\", t_6 === t_7 - 1);\nframe.set(\"loop.length\", t_7);\noutput += \"\\n \";\nif(t_12) {\noutput += \"\\n \";\nvar t_14;\nt_14 = 1;\nframe.set(\"has_errors\", t_14, true);\nif(frame.topLevel) {\ncontext.setVariable(\"has_errors\", t_14);\n}\nif(frame.topLevel) {\ncontext.addExport(\"has_errors\", t_14);\n}\noutput += \"\\n \";\n;\n}\noutput += \"\\n \";\n;\n}\n}\n}\nframe = frame.pop();\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"track_name\"), env.opts.autoescape);\noutput += \"\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Исп:\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"track_performers\"), env.opts.autoescape);\noutput += \"
Изг:\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"track_publisher\"), env.opts.autoescape);\noutput += \"
\\n \\n \\n\\n \";\nif(runtime.memberLookup((t_4),\"status\") == 1 || runtime.memberLookup((t_4),\"status\") == 3 || runtime.memberLookup((t_4),\"status\") == 3) {\noutput += \"\\n Сопоставить\\n \";\n;\n}\nelse {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"real_track_name\"), env.opts.autoescape);\noutput += \"\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Исп:\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((t_4),\"track\")),\"performers\"), env.opts.autoescape);\noutput += \"
Изг:\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((t_4),\"track\")),\"publisher\"), env.opts.autoescape);\noutput += \"
\\n \";\n;\n}\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(env.getFilter(\"round\").call(context, runtime.memberLookup((t_4),\"percent\"),3), env.opts.autoescape);\noutput += \" %\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_begin\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_begin\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_end\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_end\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})):\"\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Авторы музыки: \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"track_author_music\"), env.opts.autoescape);\noutput += \"
Авторы текста: \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"track_author_text\"), env.opts.autoescape);\noutput += \"
Альбом: \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"track_album_name\"), env.opts.autoescape);\noutput += \"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Авторы музыки: \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((t_4),\"track\")),\"author_music\"), env.opts.autoescape);\noutput += \"
Авторы текста: \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((t_4),\"track\")),\"author_text\"), env.opts.autoescape);\noutput += \"
Альбом: \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((t_4),\"track\")),\"album_name\"), env.opts.autoescape);\noutput += \"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Территория: \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"track_territory\"), env.opts.autoescape);\noutput += \"
Основание: \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"pud\"), env.opts.autoescape);\noutput += \"
Загружено: \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"ctime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"ctime\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})):\"\"), env.opts.autoescape);\noutput += \"
Дата актуальности: \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_actuality\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_actuality\"),runtime.makeKeywordArgs({\"option_name\": \"numbers\"})):\"\"), env.opts.autoescape);\noutput += \"
\\n \\n \\n \";\n;\n}\n}\nif (!t_2) {\noutput += \"\\n \\n Не найдено записей\\n \\n \";\n}\nframe = frame.pop();\noutput += \"\\n\";\n;\n}\nelse {\noutput += \"\\n \\n Ошибка получения данных. Попробуйте перезагрузить страницу\\n \\n\";\n;\n}\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-agreement-journal/l-agreement-journal__table-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-agreement-journal/l-agreement-journal__table-content.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-confirm-modal/b-confirm-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Подтверждение действия\\n
\\n
\\n \";\noutput += runtime.suppressValue(env.getFilter(\"safe\").call(context, runtime.contextOrFrameLookup(context, frame, \"message\")), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \\n \\n
\\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-confirm-modal/b-confirm-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-confirm-modal/b-confirm-modal.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-tracks-modal/b-tracks-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Создание фонограмм\\n
\\n\\n
\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status\") != 3 && runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status\") != 4) {\noutput += \"\\n
\\n
\\n   \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status_name\"), env.opts.autoescape);\noutput += \"...\\n
\\n\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status\") == 3) {\noutput += \"\\n

Завершено

\\n
Строк в обработке: \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"result\")),\"objects_all\"), env.opts.autoescape);\noutput += \"
\\n
Обработано: \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"result\")),\"objects_to_tracks_success\"), env.opts.autoescape);\noutput += \"
\\n
Ошибок: \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"result\")),\"objects_to_tracks_error\"), env.opts.autoescape);\noutput += \"
\\n\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status\") == 4) {\noutput += \"\\n

Ошибка выполнения

\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"result\")),\"error_message\"), env.opts.autoescape);\noutput += \"
\\n \";\n;\n}\n;\n}\n;\n}\noutput += \"\\n
\\n\\n \\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-tracks-modal/b-tracks-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-tracks-modal/b-tracks-modal.html","import template from '../templates/l-rights/l-rights.html'\nimport table_content from '../templates/l-rights/l-rights__table-content.html'\nimport modal_template from '../templates/l-rights/l-rights__modal-edit-right.html'\nimport modal_wait_template from '../templates/b-wait-modal/b-wait-modal.html'\nimport modal_export from '../templates/l-rights/l-rights__modal-export.html'\nimport Controller from '../controller'\nimport Router from 'blocko/router'\nimport {post, get_widget, parse_json, closest, each, attach_event, plural_form} from 'blocko/helpers'\nimport iTab from 'blocko/widgets/i-tab/i-tab'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\nimport iChecker from 'blocko/widgets/i-checker/i-checker'\n\nconst TABLE_ROW_COUNT = 100;\nconst DEFAULT_PAGE = {page: 1};\nconst DEFAULT_FILTER = {\n track_id: '',\n right_type: '',\n status: '',\n x_track_performers: '',\n x_track_publisher: '',\n contract_id: '',\n contragent_id: '',\n date_begin: '',\n date_end: '',\n};\nconst DEFAULT_QUERY = {\n order_by: 'track_name:asc,date_begin:desc',\n rows: TABLE_ROW_COUNT,\n page: 1\n};\nconst DATE_FILTER_POSTFIX = {\n begin: ':>=',\n end: ':<='\n};\nconst MAX_DATE = '4102358400:<=';\nconst MIN_DATE = '631152000:>=';\n\nconst TASK_STATUS = {\n 0: 'Новый',\n 1: 'В обработке',\n 2: 'Выполнен',\n};\n\nconst STATUS_READY = 3;\nconst STATUS_ERROR = 4;\n\n\nclass Rights extends Controller {\n\n static get route() {\n return '/rights/';\n }\n\n constructor(params, query) {\n super();\n\n /**\n * Объект параметров GET-запроса\n * @type {{}}\n */\n this.query = Object.assign({}, DEFAULT_QUERY, query);\n\n /**\n * Объект параметров фильтра\n * @type {{}}\n */\n this.filter_data = {};\n Object.assign(this.filter_data, this.query);\n\n if (this.query.date_begin && this.query.date_end) {\n if (this.query.date_begin == MAX_DATE) {\n this.filter_data.begin = this.query.date_end.slice(0, -3);\n } else if (this.query.date_end == MIN_DATE) {\n this.filter_data.end = this.query.date_begin.slice(0, -3);\n } else {\n this.filter_data.begin = this.query.date_end.slice(0, -3);\n this.filter_data.end = this.query.date_begin.slice(0, -3);\n }\n }\n\n let requests = {};\n requests.rights = {\n path: '/api/red/track/right/list',\n data: this.query,\n error: (data, response_text, xhr) => {\n if (xhr.status === 504) {\n this.add('timeout_error', 1);\n }\n }\n };\n\n if (this.query.contract_id) {\n requests.contract = {\n path: '/api/red/contract/get',\n data: {\n id: this.query.contract_id\n },\n handler: response => {\n if (response.success) {\n this.filter_data.contract_num = `${response.data.contract.num} ( ${response.data.contract.type_name} , ${response.data.contract.contragent_name_inner} )`;\n }\n }\n };\n }\n\n if (this.query.contragent_id) {\n requests.contragent = {\n path: '/api/red/contragent/get',\n data: {\n id: this.query.contragent_id\n },\n handler: response => {\n if (response.success) {\n this.filter_data.contragent_name_inner = this._type_mask(response.data.contragent);\n }\n }\n };\n }\n\n if (this.query.track_id) {\n requests.track = {\n path: '/api/red/track/get',\n data: {\n id: this.query.track_id\n },\n handler: response => {\n if (response.success) {\n this.filter_data.track_name = response.data.item.name + ' - ' + response.data.item.performers;\n }\n }\n };\n }\n\n this.search_request = null;\n\n super.prepare_context(requests);\n super.add('filter_data', this.filter_data);\n super.add('active_menu', '/rights/');\n\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n content: document.querySelector('.l-rights__table-content'),\n table: document.querySelector('.l-rights__table'),\n table_wrap: document.querySelector('.l-rights__table-wrap'),\n hide_all: document.querySelector('.i-icon_collapse-all'),\n panel: document.querySelector('.l-rights__footer-panel'),\n panel_from: document.querySelector('.l-rights__footer-panel-form'),\n panel_input_date_from: document.querySelector('.l-rights__footer-panel-date-from'),\n panel_input_date_to: document.querySelector('.l-rights__footer-panel-date-to'),\n panel_select_status: document.querySelector('.l-rights__footer-panel-select-status'),\n panel_territory_input: document.querySelector('.l-rights__footer-panel-territory'),\n panel_publisher_input: document.querySelector('.l-rights__footer-panel-publisher'),\n panel_percent_input: document.querySelector('.l-rights__footer-panel-percent'),\n panel_confirm_button: document.querySelector('.l-rights__footer-panel-confirm'),\n panel_error: document.querySelector('.l-rights__footer-panel-error'),\n check_all_button: document.querySelector('.l-rights__check-all'),\n button_export: document.querySelector('.l-right__button-export')\n };\n\n this.widgets = {\n b_search: get_widget(document.querySelector('.l-rights__search'), 'bSearch'),\n b_filter: get_widget(document.querySelector('.l-rights__filter'), 'bDropdownFilter'),\n sort: get_widget(document.querySelector('.b-table__row'), 'bTableSort'),\n contract_suggest: get_widget(document.querySelector('.l-rights__contract-suggest'), 'bInput'),\n contragent_suggest: get_widget(document.querySelector('.l-rights__rightholder-suggest'), 'bInput'),\n track_suggest: get_widget(document.querySelector('.l-rights__track-suggest'), 'bInput'),\n modal: undefined,\n panel_form: get_widget(this.dom.panel_from, 'iForm'),\n date_from: get_widget(this.dom.panel_input_date_from, 'bInputMask'),\n date_to: get_widget(this.dom.panel_input_date_to, 'bInputMask'),\n b_button_submit: get_widget(this.dom.button_export, 'bButtonSubmit')\n };\n\n this.search_timer = 0;\n\n /**\n * Флаг запроса на дорисовку контента\n * @type {boolean}\n */\n if (this.get_param('rights')) {\n this.stop_render = this.get_param('rights').right_list.length !== TABLE_ROW_COUNT;\n } else {\n this.stop_render = undefined;\n }\n\n if (this.dom.panel_confirm_button) {\n this.widgets.panel_confirm = get_widget(this.dom.panel_confirm_button, 'bConfirmModal');\n }\n\n /**\n * Инициализация фильтра по GET параметрам\n */\n this.widgets.b_filter.form_submit(null, false);\n this.checked_tracks = [];\n this._calc_table_wrap();\n\n this._bind();\n this._init_tab();\n this._set_sort_icon();\n this._init_checker();\n }\n\n _bind() {\n this.widgets.b_search.attach('input', this._event_search.bind(this));\n this.widgets.b_search.attach('click', this._clear_search.bind(this));\n this.widgets.b_filter.attach('submit', this._event_filter.bind(this));\n this.widgets.b_filter.attach('change', this._event_filter_close.bind(this));\n this.widgets.b_filter.attach('click', this._event_filter_clear.bind(this));\n this.widgets.contract_suggest.node.addEventListener('input', this._event_contract_suggest.bind(this));\n this.widgets.contragent_suggest.node.addEventListener('input', this._event_contragent_suggest.bind(this));\n this.widgets.track_suggest.node.addEventListener('input', this._event_track_suggest.bind(this));\n this.widgets.contract_suggest.attach('suggest_click', (index, event) => {\n this._event_suggest_contract_click(index, event);\n });\n this.widgets.contragent_suggest.attach('suggest_click', (index, event) => {\n this._event_suggest_contragent_click(index, event);\n });\n this.widgets.track_suggest.attach('suggest_click', (index, event) => {\n this._event_suggest_track_click(index, event);\n });\n this.widgets.track_suggest.attach('suggest_clear', widget => {\n widget.node.classList.remove('error-field');\n });\n this.widgets.sort.attach('sort_click', this._sort.bind(this));\n this.dom.table.addEventListener('click', event => {\n if (event.target.classList.contains('i-icon_edit')) {\n this._modal_show(event);\n }\n });\n\n this.dom.table_wrap.addEventListener('scroll', () => {\n this._window_scroll_event();\n });\n\n attach_event(this.dom.panel_confirm_button, 'click', event => {\n let valid = false;\n\n if (this.widgets.panel_form.validate()) {\n for (let key in this.widgets.panel_form.dict) {\n if (this.widgets.panel_form.dict[key]) {\n valid = true;\n break;\n } else {\n valid = false;\n }\n }\n }\n\n if (valid) {\n this.dom.panel_error.innerText = '';\n this.widgets.panel_confirm.change_content(`Вы действительно хотите изменить ${this.checked_tracks.length} ${plural_form(this.checked_tracks.length, [' объект', ' объекта', ' объектов'])} права?`);\n } else {\n this.dom.panel_error.innerText = 'Должно быть заполенено хотя бы одно из полей';\n }\n\n });\n\n this.widgets.panel_confirm.attach('confirm', event => {\n\n let data = new FormData();\n let object_id = '';\n\n each(Object.keys(this.widgets.panel_form.dict), key => {\n if (key == 'date_begin' || key == 'date_end') {\n\n let old_date = this.widgets.panel_form.dict[key];\n let new_date = old_date.split('.');\n\n new_date.reverse();\n new_date.join('-');\n\n let date = new Date(new_date.join('-')).getTime() / 1000;\n\n if (this.widgets.panel_form.dict[key]) {\n data.append(key, date);\n }\n } else {\n data.append(key, this.widgets.panel_form.dict[key]);\n }\n });\n\n each(this.checked_tracks, item => {\n object_id += item.value + ',';\n });\n\n data.append('id', object_id);\n\n post('/api/red/contract/object/right/edit_bulk', data, response => {\n response = parse_json(response);\n\n if (response.success) {\n this._waiting_modal(event, response.data.task.id, response.data.task.status, response.success)\n } else {\n this.dom.panel_error.innerText = response.errmess;\n }\n });\n });\n\n attach_event(this.dom.panel_select_status, 'change', event => {\n if (event.target.value.length) {\n this.dom.panel_input_date_from.setAttribute('disabled', 'disabled');\n this.dom.panel_input_date_to.setAttribute('disabled', 'disabled');\n } else {\n this.dom.panel_input_date_from.removeAttribute('disabled');\n this.dom.panel_input_date_to.removeAttribute('disabled');\n }\n });\n\n attach_event(this.dom.panel_territory_input, 'input', event => {\n if (event.target.value.length) {\n this.dom.panel_select_status.setAttribute('disabled', 'disabled');\n } else if (!this.dom.panel_input_date_from.value.length || !this.dom.panel_input_date_to.value.length) {\n this.dom.panel_select_status.removeAttribute('disabled');\n }\n });\n\n attach_event(this.dom.panel_publisher_input, 'input', event => {\n if (event.target.value.length) {\n this.dom.panel_select_status.setAttribute('disabled', 'disabled');\n } else if (!this.dom.panel_input_date_from.value.length || !this.dom.panel_input_date_to.value.length) {\n this.dom.panel_select_status.removeAttribute('disabled');\n }\n });\n\n attach_event(this.dom.panel_percent_input, 'input', event => {\n if (event.target.value.length) {\n this.dom.panel_select_status.setAttribute('disabled', 'disabled');\n } else if (!this.dom.panel_input_date_from.value.length || !this.dom.panel_input_date_to.value.length) {\n this.dom.panel_select_status.removeAttribute('disabled');\n }\n });\n\n this.widgets.date_from.attach('event', (event, widget) => {\n if (event.target.value.length) {\n this.dom.panel_select_status.setAttribute('disabled', 'disabled');\n this.dom.panel_confirm_button.removeAttribute('disabled');\n } else if (!this.dom.panel_input_date_to.value.length && !event.target.value.length) {\n this.dom.panel_select_status.removeAttribute('disabled');\n }\n });\n\n this.widgets.date_to.attach('event', (event, widget) => {\n if (event.target.value.length) {\n this.dom.panel_select_status.setAttribute('disabled', 'disabled');\n this.dom.panel_confirm_button.removeAttribute('disabled');\n } else if (!this.dom.panel_input_date_from.value.length && !event.target.value.length) {\n this.dom.panel_select_status.removeAttribute('disabled');\n }\n });\n\n this.dom.button_export.addEventListener('click', event => {\n this.widgets.b_button_submit.block_button();\n this._export_modal(event.target);\n });\n }\n\n\n _waiting_modal(event, task_id, status, success) {\n let modal = get_widget(event.target, 'bModal');\n\n if (!modal) {\n modal = new iModal(this.render(modal_wait_template, {\n status: TASK_STATUS[status],\n success: success\n }), {\n node_link: event.target,\n strict_hide: true\n });\n }\n\n attach_event(document.querySelector('.b-modal__close'), 'click', event => {\n modal.hide();\n location.reload();\n });\n\n modal.show();\n\n let status_checker = setInterval(function () {\n post('/api/red/task/item/get', {id: task_id, partner: 'vois'}, response => {\n response = parse_json(response);\n\n let status = response.data.item.status;\n\n if (response.success) {\n success = response.success;\n\n if (status == 2) {\n clearInterval(status_checker);\n modal.hide();\n location.reload();\n }\n } else {\n status = response.errmess;\n success = response.success;\n }\n\n modal.change_body(\n this.render(modal_wait_template, {\n status: TASK_STATUS[status],\n success: success\n })\n );\n\n attach_event(modal.dom.box.querySelector('.b-modal__close'), 'click', event => {\n modal.hide();\n location.reload();\n });\n\n });\n }.bind(this), 10000);\n\n }\n\n _init_checker() {\n this.widgets.checker = new iChecker(\n this.dom.check_all_button,\n document.querySelectorAll('.l-rights__check-item')\n );\n\n this.widgets.checker.attach('check', (widget, event) => {\n this.checked_tracks = widget.checked_items;\n\n if (this.checked_tracks.length > 0) {\n this.dom.panel.classList.remove('hidden');\n this.dom.table_wrap.classList.add('l-rights__table-wrap_pad');\n } else {\n this.dom.panel.classList.add('hidden');\n this.dom.table_wrap.classList.remove('l-rights__table-wrap_pad');\n this.dom.check_all_button.checked = false;\n }\n });\n }\n\n\n /**\n * Установка иконок сортировки в соответвии с GET-параметрами\n * @private\n */\n _set_sort_icon() {\n if (this.query.order_by) {\n let name = this.query.order_by.split(',')[0].split(':')[0];\n let type = this.query.order_by.split(',')[0].split(':')[1];\n this.widgets.sort.manual_sort(name, type);\n }\n }\n\n\n /**\n * Эвент поиска по номеру договора\n * @param widget\n * @private\n */\n _event_search(widget) {\n let value = widget.dom.input.value;\n\n Object.assign(this.query, {'search': value}, DEFAULT_PAGE);\n\n if (!value) {\n delete this.query.search;\n }\n\n if (this.search_request) {\n this.search_request.abort();\n }\n\n clearTimeout(this.search_timer);\n\n this.search_timer = setTimeout(function () {\n this.search_request = post('/api/red/track/right/list', this.query, response => {\n response = parse_json(response);\n this.stop_render = response.data.right_list.length < TABLE_ROW_COUNT;\n this.dom.content.innerHTML = this.render(table_content, {rights: response.data, timeout_error: 0});\n this._init_tab();\n this._init_checker();\n }, error => {\n this.dom.content.innerHTML = this.render(table_content, {timeout_error: 1});\n this._init_tab();\n this._init_checker();\n });\n }.bind(this), 500);\n }\n\n\n /**\n * Сброс поля поиска\n * @private\n */\n _clear_search() {\n delete this.query.search;\n Object.assign(this.query, DEFAULT_PAGE);\n\n this.url_for('Rights', {}, this.query);\n }\n\n\n /**\n * Сортировка\n * @param widget\n * @private\n */\n _sort(widget) {\n Object.assign(this.query, {'order_by': widget.order_by}, DEFAULT_PAGE);\n this.url_for('Rights', {}, this.query);\n }\n\n\n /**\n * Эвент фильтрции данных\n * @param widget\n * @private\n */\n _event_filter(widget) {\n let period = {};\n\n if (widget.form.dict.date_begin || widget.form.dict.date_end) {\n period = {\n date_begin: this._prepare_date(\n widget.form.dict.date_end ? widget.form.dict.date_end : '31.12.2099',\n 'end'\n ),\n date_end: this._prepare_date(\n widget.form.dict.date_begin ? widget.form.dict.date_begin : '01.01.1990',\n 'begin'\n )\n };\n }\n\n Object.assign(this.query, widget.form.dict, DEFAULT_PAGE, period);\n\n if (this.query.track_name) {\n delete this.query.track_name;\n } else {\n delete this.query.track_id;\n }\n\n if (this.query.contract_num) {\n delete this.query.contract_num;\n } else {\n delete this.query.contract_id;\n }\n\n if (this.query.contragent_name_inner) {\n delete this.query.contragent_name_inner;\n } else {\n delete this.query.contragent_id;\n }\n\n this.url_for('Rights', {}, this.query);\n }\n\n\n /**\n * Эвент сброса одного фильтра\n * @param widget\n * @param event\n * @private\n */\n _event_filter_close(widget, event) {\n let button_name = event.currentTarget.__widget__.name;\n delete this.query[button_name];\n\n if (button_name == 'track_name') {\n delete this.query.track_id;\n } else if (button_name == 'contract_num') {\n delete this.query.contract_id;\n } else if (button_name == 'contragent_name_inner') {\n delete this.query.contragent_id;\n } else if (button_name == 'date_begin' || button_name == 'date_end') {\n delete this.query.date_begin;\n delete this.query.date_end;\n }\n Object.assign(this.query, DEFAULT_PAGE);\n\n this.url_for('Rights', {}, this.query);\n }\n\n\n /**\n * Эвент сброса всех фильтров\n * @private\n */\n _event_filter_clear() {\n Object.assign(this.query, DEFAULT_FILTER, DEFAULT_PAGE);\n delete this.query.contragent_id;\n delete this.query.contract_id;\n delete this.query.track_id;\n this.url_for('Rights', {}, this.query);\n }\n\n\n /**\n * Ввода в саджест-поле \"Контракт\"\n * @param event\n * @private\n */\n _event_contract_suggest(event) {\n let value = event.currentTarget.value;\n clearTimeout(this.search_timer);\n\n if (value.length >= 2) {\n this.search_timer = setTimeout(function () {\n post('/api/red/contract/list', {search: value, rows: 20}, response => {\n response = parse_json(response);\n\n if (response.success) {\n this.contract_id_list = [];\n this.widgets.contract_suggest.create_suggest(\n response.data.contract_list.map(item => {\n this.contract_id_list.push(item.id);\n return `${item.num} ( ${item.type_name} , ${item.contragent_name_inner} )`;\n }),\n 'suggest__box'\n );\n }\n });\n }.bind(this), 300);\n }\n }\n\n\n /**\n * Ввода в саджест-поле \"Правообладатель\"\n * @param event\n * @private\n */\n _event_contragent_suggest(event) {\n let value = event.currentTarget.value;\n clearTimeout(this.search_timer);\n\n if (value.length >= 2) {\n this.search_timer = setTimeout(function () {\n post('/api/red/contragent/list', {name_inner_like: value, rows: 20}, response => {\n response = parse_json(response);\n\n if (response.success) {\n this.contragent_id_list = [];\n this.widgets.contragent_suggest.create_suggest(\n response.data.contragent_list.map(item => {\n this.contragent_id_list.push(item.id);\n return this._type_mask(item);\n }),\n 'suggest__box'\n );\n }\n });\n }.bind(this), 300);\n }\n }\n\n\n /**\n * Ввода в саджест-поле \"Объект права\"\n * @param event\n * @private\n */\n _event_track_suggest(event) {\n let value = event.currentTarget.value;\n clearTimeout(this.search_timer);\n\n if (value.length > 2) {\n this.widgets.track_suggest.node.classList.remove('error-field');\n this.search_timer = setTimeout(function () {\n post('/api/red/track/list', {name_like: value, rows: 20}, response => {\n response = parse_json(response);\n\n if (response.success) {\n if (!response.data.item_list.length) {\n this.widgets.track_suggest.node.classList.add('error-field');\n }\n this.track_id_list = [];\n this.widgets.track_suggest.create_suggest(\n response.data.item_list.map(item => {\n this.track_id_list.push(item.id);\n return item.name + ' - ' + item.performers;\n }),\n 'suggest__box'\n );\n }\n });\n }.bind(this), 300);\n } else {\n this.widgets.track_suggest.create_suggest([], 'suggest__box');\n }\n }\n\n\n /**\n * Эвент выбора договора из саджест списка. Установка id контрагента.\n * @param index\n * @private\n */\n _event_suggest_contract_click(index) {\n this.query.contract_id = this.contract_id_list[index];\n }\n\n\n /**\n * Эвент выбора правообладателя из саджест списка. Установка id правообладателя.\n * @param index\n * @private\n */\n _event_suggest_contragent_click(index) {\n this.query.contragent_id = this.contragent_id_list[index];\n }\n\n\n /**\n * Эвент выбора обекта права из саджест списка. Установка id обекта права.\n * @param index\n * @private\n */\n _event_suggest_track_click(index) {\n this.query.track_id = this.track_id_list[index];\n }\n\n\n /**\n * Эвент скрола страницы\n * @private\n */\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n /**\n * Дорисовка контента таблицы при скролле\n * @private\n */\n _next_page() {\n if (this.stop_render) {\n return;\n }\n\n this.stop_render = true;\n this.query.page = parseInt(this.query.page) + 1;\n\n post('/api/red/track/right/list', this.query, response => {\n response = parse_json(response);\n this.dom.content.insertAdjacentHTML('beforeEnd', this.render(table_content, {\n rights: response.data,\n timeout_error: 0\n }));\n this._init_tab();\n this._init_checker();\n\n if (response.data.right_list.length === TABLE_ROW_COUNT) {\n this.stop_render = false;\n }\n }, error => {\n this.dom.content.insertAdjacentHTML('beforeEnd', this.render(table_content, {timeout_error: 1}));\n this._init_tab();\n this._init_checker();\n });\n }\n\n\n /**\n * Инициализация iTab для таблицы с контентом\n * @private\n */\n _init_tab() {\n this.tabs = new iTab({\n buttons: document.querySelectorAll('.i-icon_collapse-one'),\n boxes: document.querySelectorAll('.b-table__wrap-row-content'),\n button_active_class: 'i-icon_collapse-one_active',\n active: null,\n is_toggle: true,\n is_multiple: true\n });\n\n this.tabs.attach('CHANGE', event => {\n if (event.active >= 0) {\n let buttons_list = document.querySelectorAll('.i-icon_collapse-one');\n let box_list = document.querySelectorAll('.b-table__wrap-row-content');\n let current_button = buttons_list[event.active];\n let button_parent = closest(current_button, '.b-table__wrap-row-title');\n\n button_parent.classList.toggle('b-table__wrap-row-title_active');\n\n this.dom.hide_all.addEventListener('click', event => {\n each(box_list, (item, index) => {\n buttons_list[index].classList.remove('i-icon_collapse-one_active');\n closest(buttons_list[index], '.b-table__wrap-row-title').classList.remove('b-table__wrap-row-title_active');\n item.classList.add('hidden');\n });\n });\n }\n });\n }\n\n\n /**\n * Создание модального окна\n * @param event\n * @private\n */\n _modal_show(event) {\n let button = event.target;\n this.widgets.modal = get_widget(button, 'iModal');\n\n post('/api/red/track/right/get', {id: button.getAttribute('data-id'), with: 'contract_id'}, response => {\n response = parse_json(response);\n\n if (!this.widgets.modal) {\n this.widgets.modal = new iModal(this.render(modal_template, {right: response.data.right}), {\n node_link: button,\n strict_hide: true\n });\n }\n\n this.widgets.modal.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n this.widgets.modal.hide();\n });\n\n this.widgets.modal.attach('hide', () => {\n let form_widget = get_widget(this.widgets.modal.dom.box.querySelector('.i-ajax-form'), 'iForm');\n let i_ajax_form = get_widget(this.widgets.modal.dom.box.querySelector('.i-ajax-form'), 'iAjaxForm');\n form_widget.reset();\n form_widget.clear_error_message();\n i_ajax_form.clear_error();\n });\n\n this.widgets.modal.show();\n });\n }\n\n\n /**\n * Предподготавливает дату перед отправкой в АПИ\n * @param date\n * @param action\n * @returns {string}\n * @private\n */\n _prepare_date(date, action) {\n let timestamp = '';\n\n if (date) {\n let parse_date = date.split('.');\n parse_date.reverse();\n parse_date.join('-');\n timestamp = new Date(parse_date.join('-')).getTime() / 1000 + DATE_FILTER_POSTFIX[action];\n }\n return timestamp;\n }\n\n\n /**\n * Принимает объект правообладаетя. Возвращает имя правообладателя с маской его типа\n * @param object\n * @returns {*}\n * @private\n */\n _type_mask(object) {\n let types = {1: '(ЮЛ)', 2: '(ИП)', 3: '(ФЛ)'};\n return [\n object.name_inner,\n types[object.type] || ''\n ].join(' ');\n }\n\n\n /**\n * Пересчет высоты таблицы в зависимости от фильтра\n * @private\n */\n _calc_table_wrap() {\n if (this.widgets.b_filter.state) {\n this.dom.table_wrap.classList.add('l-rights__table-wrap_filter');\n } else {\n this.dom.table_wrap.classList.remove('l-rights__table-wrap_filter');\n }\n }\n\n\n /**\n * Создание модального окна экспорта\n * @private\n */\n _export_modal(button) {\n post('/api/red/track/right/file/add', {params: JSON.stringify(this.query)}, response => {\n response = parse_json(response);\n\n if (response.success) {\n this.widgets.b_button_submit.unblock_button();\n this.widgets.modal_export = new iModal(this.render(modal_export, {data: response.data}), {\n node_link: button,\n strict_hide: true\n });\n this.widgets.modal_export.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.widgets.modal_export.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n location.reload();\n });\n this.widgets.modal_export.attach('hide', () => {\n this.widgets.modal_export.show();\n });\n this.widgets.modal_export.show();\n\n let status_checker = setInterval(function () {\n post('/api/red/track/right/file/get', {id: response.data.track_right_file.id}, response => {\n response = parse_json(response);\n\n if (response.success) {\n if (response.data.track_right_file.status === STATUS_READY\n || response.data.track_right_file.status === STATUS_ERROR) {\n clearInterval(status_checker);\n }\n\n this.widgets.modal_export.change_body(this.render(modal_export, {data: response.data}));\n this.widgets.modal_export.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.widgets.modal_export.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n location.reload();\n });\n }\n });\n }.bind(this), 10000);\n }\n });\n }\n}\n\nRouter.add_page(Rights);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/rights.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"../l-rights/l-rights__filter.html\"] = require( \"../l-rights/l-rights__filter.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"../l-rights/l-rights__table-content.html\"] = require( \"../l-rights/l-rights__table-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rights/l-rights.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-rights/l-rights.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
Реестр прав на объекты
\\n\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-rights/l-rights.html\", false, function(t_6,t_5) {\nif(t_6) { cb(t_6); return; }\nt_5.getExported(function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nif(t_5.hasOwnProperty(\"bSearch\")) {\nvar t_8 = t_5.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_8);\noutput += \"\\n \";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-rights/l-rights.html\", false, function(t_10,t_9) {\nif(t_10) { cb(t_10); return; }\nt_9.getExported(function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nif(t_9.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_12 = t_9.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_12);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 10, colno = 20, runtime.callWrap(t_8, \"bSearch\", context, [{\"class\": \"l-rights__search\"},{\"placeholder\": \"Поиск по объекту и правообладателю\",\"value\": runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"filter_data\")),\"search\")}])), env.opts.autoescape);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 17, colno = 33, runtime.callWrap(t_12, \"bDropdownFilter\", context, [\"Фильтры\",\"filter\",\"l-rights__filter-body\",runtime.makeKeywordArgs({\"caller\": (function (){var macro_t_13 = runtime.makeMacro(\n[], \n[], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nvar t_14 = \"\";env.getTemplate(\"../l-rights/l-rights__filter.html\", false, \"../templates/l-rights/l-rights.html\", null, function(t_17,t_15) {\nif(t_17) { cb(t_17); return; }\nt_15.render(context.getVariables(), frame, function(t_18,t_16) {\nif(t_18) { cb(t_18); return; }\nt_14 += t_16\n})});\nframe = frame.pop();\nreturn new runtime.SafeString(t_14);\n});\nreturn macro_t_13;})()})])), env.opts.autoescape);\noutput += \"\\n
\\n\\n
\\n \\n
\\n\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-rights/l-rights.html\", null, function(t_21,t_19) {\nif(t_21) { cb(t_21); return; }\nt_19.render(context.getVariables(), frame, function(t_22,t_20) {\nif(t_22) { cb(t_22); return; }\noutput += t_20\noutput += \"\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-rights/l-rights__table-content.html\", false, \"../templates/l-rights/l-rights.html\", null, function(t_25,t_23) {\nif(t_25) { cb(t_25); return; }\nt_23.render(context.getVariables(), frame, function(t_26,t_24) {\nif(t_26) { cb(t_26); return; }\noutput += t_24\noutput += \"\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n Объект права\\n
\\n
\\n
\\n Исполнители\\n
\\n
\\n
\\n Изготовители\\n
\\n
\\n
\\n Вид прав\\n
\\n
\\n
\\n Доля\\n
\\n
\\n
\\n Дата начала\\n
\\n
\\n
\\n Дата окончания\\n
\\n
\\n
\\n Статус\\n
\\n
\\n
\\n Правообладатель\\n
\\n
\\n
\\n Перейти\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n\";\ncb(null, output);\n})})})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rights/l-rights.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rights/l-rights.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rights/l-rights__filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
\\n
Объект права
\\n \\n
\\n
\\n
Исполнители
\\n \\n
\\n
\\n
Изготовители
\\n \\n
\\n
\\n
Вид прав
\\n \\n
\\n
\\n
Статус
\\n \\n
\\n
\\n
Номер договора
\\n \\n
\\n
\\n
Правообладатель
\\n \\n
\\n
\\n
Начало периода
\\n \\n
\\n
\\n
Окончание периода
\\n \\n
\\n\\n
\\n \\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rights/l-rights__filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rights/l-rights__filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rights/l-rights__table-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nif(!runtime.contextOrFrameLookup(context, frame, \"timeout_error\")) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rights\")),\"right_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \";\nif(runtime.memberLookup((t_4),\"track_name\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"track_name\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"track_performers\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"track_publisher\"), env.opts.autoescape);\noutput += \"\\n \";\nif(runtime.memberLookup((t_4),\"right_type\") == 1) {\noutput += \"Исполнитель\";\n;\n}\nelse {\nif(runtime.memberLookup((t_4),\"right_type\") == 2) {\noutput += \"Изготовитель\";\n;\n}\n;\n}\noutput += \"\\n \";\noutput += runtime.suppressValue(env.getFilter(\"round\").call(context, runtime.memberLookup((t_4),\"percent\"),3), env.opts.autoescape);\noutput += \" %\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_begin\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_begin\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_end\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_end\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})):\"\"), env.opts.autoescape);\noutput += \"\\n \\n \";\nif(runtime.memberLookup((t_4),\"status\") == 4) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\noutput += \"\\n \\n \";\nif(runtime.memberLookup((t_4),\"contragent_name_inner\")) {\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"contragent_name_inner\"), env.opts.autoescape);\n;\n}\noutput += \"\\n Договор\\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Авторы музыки\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"track_author_music\"), env.opts.autoescape);\noutput += \"
Авторы текста\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"track_author_text\"), env.opts.autoescape);\noutput += \"
\\n \\n \\n \";\n;\n}\n}\nif (!t_2) {\noutput += \"\\n \\n Не найдено записей\\n \\n \";\n}\nframe = frame.pop();\noutput += \"\\n\";\n;\n}\nelse {\noutput += \"\\n \\n Ошибка получения данных. Попробуйте перезагрузить страницу\\n \\n\";\n;\n}\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rights/l-rights__table-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rights/l-rights__table-content.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rights/l-rights__modal-edit-right.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Изменение прав на объект\\n
\\n\\n \\n\\n
\\n
\\n Правообладатель\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"right\")),\"contragent_name_inner\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n Договор\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"right\")),\"contract\")),\"num\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n Вид прав\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"right\")),\"contract\")),\"type_right_type_name\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n\\n
\\n
\\n Наименование\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"right\")),\"track_name\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n Изготовитель\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"right\")),\"track_publisher\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n Исполнитель\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"right\")),\"track_performers\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n\\n
\\n
\\n
\\n Автор музыки\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"right\")),\"track_author_music\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n Автор текста\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"right\")),\"track_author_text\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rights/l-rights__modal-edit-right.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rights/l-rights__modal-edit-right.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rights/l-rights__modal-export.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n Выгрузка отчета\\n
\\n\\n
\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"track_right_file\")),\"status\") == 1 || runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"track_right_file\")),\"status\") == 2) {\noutput += \"\\n
\\n
  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"track_right_file\")),\"status_name\"), env.opts.autoescape);\noutput += \"...\\n
\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"track_right_file\")),\"status\") == 3) {\noutput += \"\\n

Завершено

\\n Ссылка для скачивания\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"track_right_file\")),\"status\") == 4) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"track_right_file\")),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\n;\n}\n;\n}\noutput += \"\\n
\\n\\n\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rights/l-rights__modal-export.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rights/l-rights__modal-export.html","import template from '../templates/l-scapr/l-scapr.html'\nimport upload_modal_template from '../templates/l-scapr/l-scapr__upload-modal.html'\nimport table_content from '../templates/l-scapr/l-scapr__table-content.html'\nimport Controller from '../controller'\nimport Router from 'blocko/router'\nimport { post, get_widget, parse_json } from 'blocko/helpers'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\n\nconst TABLE_ROW_COUNT = 100;\nconst DEFAULT_PAGE = {page: 1};\nconst DEFAULT_FILTER = {\n type_id: '',\n type_right_type: '',\n contragent_name_inner: '',\n status: ''\n};\nconst DEFAULT_QUERY = {\n order_by: 'num:asc',\n rows: TABLE_ROW_COUNT,\n page: 1\n};\n\nconst uploadModal = {\n context: undefined\n}\n\n\nclass Scapr extends Controller {\n\n static get route() {\n return '/scapr/';\n }\n\n get PATH() {\n return '/api/red/scapr/list'\n }\n\n constructor(params, query) {\n super();\n\n /**\n * Объект параметров GET-запроса\n * @type {{}}\n */\n this.query = Object.assign({}, DEFAULT_QUERY, query);\n\n /**\n * Создание и наполнение объекта запроса\n * @type {{}}\n */\n super.prepare_context({\n scarp: {\n path: this.PATH,\n data: query\n }\n })\n\n super.add('active_menu', '/scapr/');\n\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n content: document.querySelector('.l-scapr__content'),\n table: document.querySelector('.l-scapr__table'),\n table_wrap: document.querySelector('.l-scapr__table-wrap'),\n upload_button: document.querySelectorAll('.l-scapr__load-label'),\n input_file: undefined,\n input_original_name: undefined\n };\n\n // this._calc_table_wrap();\n this.dom.upload_button.forEach(btn => {\n btn.addEventListener('click', e => {\n let type = e.target.dataset.type;\n this._make_upload_modal(type);\n })\n })\n }\n\n _bind() {\n this.dom.table_wrap.addEventListener('scroll', () => {\n this._window_scroll_event();\n });\n }\n\n\n /**\n * Эвент скрола страницы\n * @private\n */\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n /**\n * Создание модалки загрузки файла\n * @param type\n * @returns {void|*|jQuery|Promise}\n * @private\n */\n _make_upload_modal(type) {\n\n const attachEvents = instance => {\n this.dom.input_file = instance.dom.box.querySelector('.l-scapr__native-upload-file');\n this.dom.input_file.addEventListener('change', e => {\n this._change_file(e)\n });\n this.dom.input_original_name = instance.dom.box.querySelector('.l-scapr__upload-file-original-name');\n instance.dom.box.querySelector('.b-modal__close').addEventListener('click', e => {\n instance.hide()\n });\n }\n\n\n if(uploadModal.context) {\n uploadModal.context.change_body(this.render(upload_modal_template, {\n file_type: type\n }));\n attachEvents(uploadModal.context)\n return uploadModal.context.show();\n }\n let modal_template = this.render(upload_modal_template, {\n file_type: type\n })\n\n let modal = new iModal(modal_template,{\n strict_hide: true\n })\n uploadModal.context = modal;\n attachEvents(uploadModal.context);\n modal.show()\n }\n\n /**\n * Заполнение поля \"Имя файла\"\n * @param event\n * @private\n */\n _change_file(event) {\n if (event.target.files.length) {\n let file = event.target.files[0];\n this.dom.input_original_name.value = file.name;\n }\n }\n\n\n /**\n * Дорисовка контента таблицы при скролле\n * @private\n */\n _next_page() {\n if (this.stop_render) {\n return;\n }\n\n this.stop_render = true;\n this.query.page = parseInt(this.query.page) + 1;\n\n post(this.PATH, this.query, response => {\n response = parse_json(response);\n this.dom.content.insertAdjacentHTML('beforeEnd', this.render(table_content, {scarp: response.data, timeout_error: 0}));\n if (response.data.contract_list.length === TABLE_ROW_COUNT) {\n this.stop_render = false;\n }\n }, error => {\n this.dom.content.insertAdjacentHTML('beforeEnd', this.render(table_content, {timeout_error: 1}));\n });\n }\n\n\n /**\n * Заполняет поля контрагента из полей фильтра при открытии модального окна\n * @private\n */\n _fill_contragent_fields() {\n if (this.b_filter.form) {\n this.dom.form_suggest.value = this.b_filter.form.dict.contragent_name_inner;\n this.dom.contragent_id_field.value = this.query.contragent_id;\n }\n }\n\n\n /**\n * Останавливает submit при отсутсвии значения в поле contragent_id модального окна\n * @param widget\n * @private\n */\n _modal_submit_check_id(widget) {\n let id_field = widget.node.querySelector('.l-scapr__contragent_id_field');\n\n if (!id_field.value || !this.form_suggest_clicked) {\n widget.stop_submit();\n widget.set_error('Правообладатель не найден');\n } else {\n widget.start_submit();\n widget.clear_error();\n }\n }\n\n\n /**\n * Получить номер контракта\n * @private\n */\n _get_contract_num() {\n if (!this.dom.contract_num_input.value) {\n post('/api/red/contract/num/add', {}, response => {\n response = parse_json(response);\n if (response.success) {\n this.dom.contract_num_input.value = response.data.contract.contract_num;\n }\n });\n }\n }\n\n\n /**\n * Принимает объект правообладаетя. Возвращает имя правообладателя с маской его типа\n * @param object\n * @returns {*}\n * @private\n */\n _type_mask(object) {\n let types = {1: '(ЮЛ)', 2: '(ИП)', 3: '(ФЛ)'};\n return [\n object.name_inner,\n types[object.type] || ''\n ].join(' ');\n }\n\n\n /**\n * Пересчет высоты таблицы в зависимости от фильтра\n * @private\n */\n _calc_table_wrap() {\n if (this.b_filter.state) {\n this.dom.table_wrap.classList.add('l-scapr__table-wrap_filter');\n } else {\n this.dom.table_wrap.classList.remove('l-scapr__table-wrap_filter');\n }\n }\n}\n\nRouter.add_page(Scapr);\n\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/scapr.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"./l-scapr__table-content.html\"] = require( \"./l-scapr__table-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-scapr/l-scapr.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-scapr/l-scapr.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n SCAPR\\n
\\n
\\n
\\n \\n Загрузить\\n \\n \\n \\n\\n
\\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-scapr/l-scapr.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"./l-scapr__table-content.html\", false, \"../templates/l-scapr/l-scapr.html\", null, function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nt_9.render(context.getVariables(), frame, function(t_12,t_10) {\nif(t_12) { cb(t_12); return; }\noutput += t_10\noutput += \"\\n \\n
\\n
\\n Имя файла\\n
\\n
\\n
\\n Тип\\n
\\n
\\n
\\n Дата и время загрузки\\n
\\n
\\n
\\n Статус\\n
\\n
\\n
\\n Ошибка\\n
\\n
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-scapr/l-scapr.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-scapr/l-scapr.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-scapr/l-scapr__table-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nif(!runtime.contextOrFrameLookup(context, frame, \"timeout_error\")) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"scarp\")),\"scapr_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"scapr\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \";\nif(runtime.memberLookup((t_4),\"link\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"filename\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"filename\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\noutput += \"\\n \\n \";\nif(runtime.memberLookup((t_4),\"ftype\") == 1) {\noutput += \"Загрузка исполнителей\";\n;\n}\nelse {\noutput += \"Выгрузка исполнителей\";\n;\n}\noutput += \"\\n \";\noutput += runtime.suppressValue(env.getFilter(\"convert_time\").call(context, runtime.memberLookup((t_4),\"ctime\")), env.opts.autoescape);\noutput += \" \";\noutput += runtime.suppressValue(env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"ctime\"),runtime.makeKeywordArgs({\"options_name\": \"numbers\"})), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"description\"), env.opts.autoescape);\noutput += \"\\n \\n \";\n;\n}\n}\nif (!t_2) {\noutput += \"\\n \\n Не найдено записей\\n \\n \";\n}\nframe = frame.pop();\noutput += \"\\n\";\n;\n}\nelse {\noutput += \"\\n \\n Ошибка получения данных. Попробуйте перезагрузить страницу\\n \\n\";\n;\n}\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-scapr/l-scapr__table-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-scapr/l-scapr__table-content.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-scapr/l-scapr__upload-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Загрузка файла каталога\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-scapr/l-scapr__upload-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-scapr/l-scapr__upload-modal.html","import {each} from 'blocko/helpers'\n\nimport iTab from 'blocko/widgets/i-tab/i-tab'\nimport Widget from 'blocko/widget'\n\n\nclass bTab extends Widget {\n\n constructor(node) {\n super(node);\n\n let query_body = node.getAttribute('data-body') || '.b-tab__blocks';\n let body = document.body.querySelector(query_body);\n let box = null;\n\n\n if (!node || !node.children.length) {\n return;\n }\n\n\n let active = 0;\n\n\n each(node.children, (item, index) => {\n if (item.classList.contains('b-tab__button_active')) {\n active = index;\n }\n });\n\n\n new iTab({\n buttons: node.children,\n boxes: body.children,\n button_active_class: 'b-tab__button_active',\n active: active\n }).attach('CHANGE', (event, instance) => {\n this.dispatch('CHANGE', [instance]);\n });\n }\n}\n\n\nmodule.exports = Widget.init('.b-tab', bTab);\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-tab/b-tab.js","import {each, create_widget} from './helpers'\n\nimport Controller from './controller'\nimport Events from './events';\n\n\nexport default class Widget extends Events {\n\n constructor(node) {\n super();\n\n this.context = {};\n this.node = node;\n\n if (node) {\n create_widget(node, this);\n }\n }\n\n\n /**\n * Рендер шаблона\n * @param template\n * @param context\n * @returns {*}\n */\n render(template, context={}) {\n return render.apply({}, arguments);\n }\n\n\n /**\n * Обнуление контекста\n */\n flush() {\n this._context = {};\n }\n\n\n /**\n * Создание инстанса виджета\n * @param query\n * @param instance\n * @returns {Function}\n */\n static init(query, instance) {\n return function (parent) {\n each(parent.querySelectorAll(query), function (item) {\n\n let exist = false;\n each(item.__list_widget__, function (widget) {\n if (widget instanceof instance) {\n exist = true;\n return false;\n }\n });\n\n if (!exist) {\n new instance(item);\n }\n });\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widget.js","import Widget from 'blocko/widget'\nimport iForm from 'blocko/widgets/i-form/i-form'\n\nclass bForm extends Widget {\n\n constructor(node) {\n super(null);\n new iForm(node);\n }\n}\n\nmodule.exports = Widget.init('form', bForm);\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-form/b-form.js","import {each, create_widget, attach_event, get_widgets} from '../../helpers'\nimport {create_square, parse_square} from '../../functions/sueare'\nimport Events from '../../events'\nimport iFormField from '../i-form-field/i-form-field'\nimport bInput from '../b-input/b-input'\n\n\nexport default class iForm extends Events{\n\n constructor(parent_node, params={}) {\n super();\n\n create_widget(parent_node, this);\n\n this._params = Object.assign({}, params);\n this._parent = parent_node;\n this._fields = [];\n this._is_valid = null;\n\n\n this.make();\n }\n\n\n /**\n * Получение статуса валидации\n * @returns {null|boolean|*|is_valid}\n */\n get is_valid() {\n return this._is_valid;\n }\n\n\n /**\n * Получение всех филдов внутри формы\n * @returns {Array}\n */\n get fields() {\n return this._fields;\n }\n\n\n /**\n * Получить форму в виде объекта\n */\n get dict() {\n let result = {};\n each(this._fields, item => {\n if (item.node.name) {\n if (['checkbox', 'radio'].includes(item.node.type)) {\n if (item.node.checked) {\n create_square(result, item.node.name, item.node.value);\n } else {\n create_square(result, item.node.name, '');\n }\n } else if (item.node.type === 'file') {\n if (item.node.files.length) {\n create_square(result, item.node.name, item.node.files[0]);\n }\n } else {\n create_square(result, item.node.name, item.node.value);\n }\n }\n });\n return result;\n }\n\n\n /**\n * Собрать все элементы формы\n */\n make() {\n let fields = this._parent.querySelectorAll('input, select, textarea, button');\n\n this._fields = [];\n\n each(fields, item => {\n let field_instance = false;\n each(get_widgets(item), widget => {\n if (widget.constructor.name === 'iFormField') {\n field_instance = widget;\n }\n });\n\n if (!field_instance) {\n field_instance = new iFormField(item);\n }\n\n this._fields.push({\n node: item,\n widget: field_instance\n });\n });\n }\n\n\n /**\n * Валидация формы\n * @returns {boolean}\n */\n validate() {\n let is_valid = true;\n each(this._fields, item => {\n if (item.widget.validate) {\n if (!item.widget.validate()) {\n is_valid = false;\n }\n }\n });\n\n return this._is_valid = is_valid;\n }\n\n\n /**\n * Обнуление формы\n */\n reset() {\n each(this._fields, item => {\n if (item.widget.reset) {\n item.widget.reset();\n }\n });\n }\n\n\n /**\n * Сброс сообщений об ошибке в форме\n */\n clear_error_message() {\n each(this._fields, item => {\n item.node.classList.remove('error-field');\n item.widget.remove_error_message();\n });\n }\n\n\n /**\n * Отправка формы\n */\n submit() {\n this.validate();\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/i-form/i-form.js","/**\n * https://github.com/dominicbarnes/square\n */\n\nexport function parse_square (name) {\n return name.split(/[\\.\\[]+/g).map(function(part) {\n part = part.replace(/\\]$/, \"\");\n\n if (!part) return false;\n\n if (/^\\d+$/.test(part)) return parseInt(part, 10);\n\n return part;\n });\n};\n\nexport function create_square (o, key, value) {\n if (!o) o = {};\n\n return parse_square(key).reduce(function(acc, branch, x, branches) {\n if (x + 1 < branches.length) {\n var nextKey = branches[x + 1];\n\n if (branch === false) {\n var temp = acc[acc.length - 1];\n\n if (!temp || branchesExist(temp, branches.slice(x + 1))) {\n temp = {};\n acc.push(temp);\n }\n\n return temp;\n } else {\n if (!(branch in acc)) {\n acc[branch] = (nextKey === false || typeof nextKey === \"number\") ? [] : {};\n }\n\n return acc[branch];\n }\n } else {\n if (branch === false) {\n acc.push(value);\n } else {\n acc[branch] = value;\n }\n\n return o;\n }\n }, o);\n};\n\nfunction branchesExist(o, branches) {\n var current = o;\n return branches.every(function(branch) {\n if (branch in current) {\n current = current[branch];\n return true;\n } else {\n return false;\n }\n });\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/functions/sueare.js","import {each, create_widget, attach_event} from '../../helpers'\nimport {get_validator, get_error_message} from '../../form-validate'\nimport Events from '../../events'\n\n\nexport default class iFormField extends Events{\n\n constructor(field) {\n super();\n\n create_widget(field, this);\n\n this._field = field;\n this._default_value = this.value();\n this._default_checked_attr = field.hasAttribute('checked') ? field.checked:false;\n this._default_select_one_value = field.selectedIndex;\n this._validators = [];\n\n let timer = 0;\n field.addEventListener('input', event => {\n clearTimeout(timer);\n timer = setTimeout(this.validate.bind(this), 300);\n })\n }\n\n\n /**\n * Получение типа\n * @returns {string}\n */\n get type() {\n return this._field.type.toLowerCase();\n }\n\n\n /**\n * Получениие имени элемента\n * @returns {*}\n */\n get name() {\n return this._field.name;\n }\n\n\n /**\n * Получение ссылки на ноду\n * @returns {*}\n */\n get element() {\n return this._field;\n }\n\n\n /**\n * Установка/Получение значения\n * @param new_value\n * @returns {*}\n */\n value(new_value=false) {\n if (new_value !== false) {\n this._field.value = new_value;\n }\n\n return this._field.value;\n }\n\n\n /**\n * Получение валидаторов\n * @returns {Array}\n */\n get_validators() {\n let validators = this._field.getAttribute('validate');\n if (validators) {\n this._validators = [];\n each(validators.split(','), item => {\n this._validators.push(item.trim());\n });\n }\n\n return this._validators;\n }\n\n\n /**\n * Установка валидаторов\n * @returns {Array}\n */\n set_validators(validators=[]) {\n if (Array.isArray(validators)) {\n this._validators = validators;\n this._field.setAttribute('validate', this._validators.join(','));\n }\n\n return this._validators;\n }\n\n\n /**\n * Валидация филда\n * @returns {boolean}\n */\n validate() {\n let is_valid = true;\n\n this.remove_error_message();\n each(this.get_validators(), key => {\n let validator = get_validator(key);\n\n if (validator && !validator(this.value(), this._field)) {\n is_valid = false;\n\n this.set_error_message(\n this._get_error_message(key) || get_error_message(key)\n );\n\n return false;\n }\n });\n\n this._change_state_validate(is_valid);\n\n return is_valid;\n }\n\n\n /**\n * Установка сообщения об ошибке\n * @param message\n */\n set_error_message(message) {\n this.remove_error_message();\n\n let container = document.createElement('DIV');\n container.innerHTML = message;\n\n container.className = 'error-message';\n this._field.parentNode.insertBefore(container, this._field.nextSibling);\n\n this._change_state_validate(false);\n }\n\n\n /**\n * Удаление всех ошибок\n */\n remove_error_message() {\n let element = this._field;\n while(element = element.nextElementSibling) {\n if (element.tagName) {\n if (!element.classList.contains('error-message')) {\n break;\n } else {\n element.parentNode.removeChild(element);\n }\n }\n }\n }\n\n\n /**\n * Обнуление до базового состояния\n */\n reset() {\n this.value(this._default_value);\n\n if (this.type == 'checkbox' || this.type == 'radio') {\n this._field.checked = this._default_checked_attr;\n } else if (this.type == 'select-one') {\n this._field.selectedIndex = this._default_select_one_value;\n }\n }\n\n\n _change_state_validate(is_valid) {\n if (is_valid) {\n this._field.classList.remove('error-field');\n this.remove_error_message();\n } else {\n this._field.classList.add('error-field');\n }\n }\n\n\n _get_error_message(key) {\n return this._field.getAttribute('data-'+key+'-message');\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/i-form-field/i-form-field.js","import {each, closest} from '../../helpers'\n\nimport Widget from '../../widget'\nimport iDropdown from '../i-dropdown/i-dropdown'\n\nconst ARROW_DOWN = 40;\nconst ARROW_UP = 38;\nconst ENTER = 13;\nconst ESC = 27;\nconst TAB = 9;\n\n\n/**\n * EVENTS: suggest_choose\n */\nclass bInput extends Widget {\n\n constructor(node) {\n super(node);\n\n this.dom = {\n widget: node\n };\n\n this.suggest = null;\n this.suggest_list = [];\n\n /**\n * Флаг, указывающий был ли произведен выбор значиния из предложеных или нет\n * @type {boolean}\n * @private\n */\n this._is_choosed = false;\n\n /**\n * Флаг, указывающий на строгий режим выбора значений (Принимаются только значения из предложеных -\n * остальные удаляются. Устанавливается аттрибутом \"data-strict\")\n * @type {boolean}\n */\n this.strict_input = !!node.getAttribute('data-strict');\n\n this._bind();\n }\n\n\n _bind() {\n this.dom.widget.addEventListener('keydown', this._event_keydown.bind(this));\n this.dom.widget.addEventListener('change', this._suggest_choose.bind(this));\n if (this.strict_input) {\n this.dom.widget.addEventListener('blur', this._lost_focus.bind(this));\n }\n document.addEventListener('click', this._click_outside.bind(this));\n }\n\n\n /**\n * Событие нажатия клавиши при фокусе\n * @param event\n * @private\n */\n _event_keydown(event) {\n if (this.suggest_list.length && this.suggest.status) {\n if (event.keyCode === ARROW_DOWN) {\n event.preventDefault();\n this._suggest_down();\n\n } else if (event.keyCode === ARROW_UP) {\n event.preventDefault();\n this._suggest_up();\n\n } else if (event.keyCode === ENTER) {\n event.preventDefault();\n this._suggest_choose();\n\n } else if (event.keyCode === ESC) {\n this.suggest.hide();\n } else if (event.keyCode === TAB) {\n if (this.strict_input && !this._is_choosed) {\n this.value('');\n }\n this.suggest.hide();\n }\n }\n }\n\n\n /**\n * Выбор из списка\n * @private\n */\n _suggest_choose() {\n let current = this._current_suggest();\n\n if (this.suggest && Number.isInteger(current)) {\n this.suggest.body.children[current].click();\n }\n this.dispatch('suggest_choose', [current, this]);\n }\n\n\n /**\n * Нажатая стрелка вверх\n * @private\n */\n _suggest_up() {\n let current = this._current_suggest();\n let next = 0;\n\n if (current !== null) {\n next = current <= 0 ? this.suggest.body.children.length -1 : current -1;\n }\n\n this.suggest.body.children[next].classList.add('b-input-suggest_active');\n }\n\n\n /**\n * Нажатая стрелка вниз\n * @private\n */\n _suggest_down() {\n let current = this._current_suggest();\n let next = 0;\n\n if (current !== null) {\n next = current >= this.suggest.body.children.length -1 ? 0 : current +1;\n }\n\n this.suggest.body.children[next].classList.add('b-input-suggest_active');\n }\n\n\n /**\n * Получение выделенного элемента списка\n * @returns {*}\n * @private\n */\n _current_suggest() {\n let current = null;\n if (this.suggest) {\n each(this.suggest.body.children, function (item, index) {\n if (item.classList.contains('b-input-suggest_active')) {\n item.classList.remove('b-input-suggest_active');\n current = index;\n }\n });\n }\n return current;\n }\n\n\n /**\n * Клик по элементу списка\n * @param index\n * @param event\n * @private\n */\n _event_click_suggest(index, event) {\n this._is_choosed = true;\n this.value(this.suggest_list[index]);\n this.suggest.hide();\n this.dispatch('suggest_click', [index, this]);\n }\n\n\n /**\n * Эвент потери фокуса\n * @private\n */\n _lost_focus() {\n /*if (this.suggest && !this._is_choosed) {\n setTimeout(function () {\n this.dispatch('suggest_clear', [this]);\n\n this.suggest.hide()\n }.bind(this), 500);\n }*/\n }\n\n\n /**\n * Клик за пределами виджета\n * @param event\n * @private\n */\n _click_outside(event) {\n if (!closest(event.target, '.b-input-suggest') && this.suggest) {\n if (this.strict_input && !this._is_choosed) {\n this.value('');\n }\n this.suggest.hide();\n }\n }\n\n\n /**\n * Создание выпадающего списка\n * @param suggest_list\n * @param class_name\n */\n create_suggest(suggest_list, class_name) {\n this._is_choosed = false;\n if (!this.suggest) {\n this.suggest = new iDropdown(this.dom.widget);\n\n if(class_name) {\n this.suggest.modifier(class_name);\n }\n }\n\n if(suggest_list.length <= 0) {\n this.suggest.hide();\n return;\n }\n this.suggest_list = suggest_list;\n let box = document.createDocumentFragment();\n\n suggest_list.forEach(function (item, index) {\n let node = document.createElement('DIV');\n\n node.className = 'b-input-suggest';\n node.appendChild(document.createTextNode(item));\n\n node.addEventListener('click', this._event_click_suggest.bind(this, index));\n\n box.appendChild(node);\n }.bind(this));\n\n this.suggest.change_body(box);\n this.suggest.show();\n }\n\n\n /**\n * Получение/установка заначения у инпута\n * @param string\n * @returns {*}\n */\n value(string) {\n if (string !== undefined) {\n this.dom.widget.value = string;\n }\n\n return this.dom.widget.value;\n }\n\n}\n\n\nmodule.exports = Widget.init('.b-input', bInput);\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/b-input/b-input.js","import {is_element, prepare_content, create_widget} from '../../helpers'\nimport Events from '../../events'\n\n\nexport default class iDropdown extends Events {\n\n constructor(parent_node, parent_body='body', params={}) {\n super();\n\n\n this.dom = {\n parent_node: parent_node,\n box: null,\n parent_body: document.querySelector(parent_body)\n };\n\n this.params = Object.assign({\n width: 'node'\n }, params);\n\n\n /**\n * Статус Открыт/Закрыт дропдаун\n * @type {number}\n * @private\n */\n this._status = 0;\n\n\n this._create();\n\n\n window.addEventListener('resize', this._change_position.bind(this));\n }\n\n\n /**\n * Получение ссылки на DOM элемент\n * @returns {null}\n */\n get box() {\n return this.dom.box;\n }\n\n\n /**\n * Установка модификатора\n * @param name\n */\n modifier(name) {\n this.dom.box.classList.add('i-dropdown_' + name);\n }\n\n\n /**\n * Удаление модификатора\n * @param name\n */\n remove_modifier(name) {\n this.dom.box.classList.remove('i-dropdown_' + name);\n }\n\n /**\n * @private\n */\n _create() {\n this.dom.box = document.createElement('DIV');\n this.dom.box.className = 'i-dropdown';\n this._change_position();\n\n create_widget(this.dom.box, this);\n\n this.dom.parent_body.appendChild(this.dom.box);\n }\n\n\n /**\n * Изменение позиции\n * @private\n */\n _change_position() {\n let position = this.dom.parent_node.getBoundingClientRect();\n\n this.dom.box.style.top = position.bottom + window.pageYOffset + 'px';\n this.dom.box.style.left = position.left + 'px';\n\n let box = this.dom.box.getBoundingClientRect();\n let boxHeight = box.height;\n let inputHeight = position.height;\n let diff = window.innerHeight - position.bottom;\n if (boxHeight > diff) {\n this.dom.box.style.top = position.bottom + window.pageYOffset - boxHeight - inputHeight + 'px';\n }\n\n if (this.params.width === 'node') {\n this.dom.box.style.width = position.width + 'px';\n }\n }\n\n\n /**\n * Изменение содержимого\n * @param node\n */\n change_body(node) {\n if (node instanceof DocumentFragment || is_element(node)) {\n this.dom.box.innerHTML = '';\n this.dom.box.appendChild(node);\n } else {\n this.dom.box.innerHTML = node;\n }\n\n prepare_content(this.dom.box);\n }\n\n\n /**\n * Получение ноды\n * @returns {null}\n */\n get body() {\n return this.dom.box;\n }\n\n\n\n /**\n * Возврящает статус, 1-открыт, 0-закрыт\n * @returns {number}\n */\n get status() {\n return this._status;\n }\n\n\n /**\n * Открыть дропдаун\n */\n show() {\n this.dom.box.classList.add('i-dropdown_show');\n this._status = 1;\n this.dispatch('show', [this])\n this._change_position();\n }\n\n\n /**\n * Скрыть дропдаун\n */\n hide() {\n if (this._status) {\n this._status = 0;\n this.dom.box.classList.remove('i-dropdown_show');\n this.dispatch('hide', [this])\n }\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/i-dropdown/i-dropdown.js","import {is_element, attach_event, create_widget, get_widget, has_widget} from 'blocko/helpers'\nimport Widget from 'blocko/widget'\n\n\nimport iModal from 'blocko/widgets/i-modal/i-modal'\n\n\nclass bModal extends Widget {\n\n constructor(node) {\n if (get_widget(node, 'bModal') !== null) {\n return;\n }\n\n super(node);\n\n\n this.hash = node.getAttribute('href');\n let script = document.querySelector(this.hash);\n\n /**\n * Ссылка на функцию this._change_window_hash\n */\n this.change_window_hash_reference = this._change_window_hash.bind(this);\n\n if (is_element(script)) {\n /**\n * Проверяем имеется ли уже модальное окно\n */\n this.modal = get_widget(script, 'iModal');\n\n if (this.modal === null) {\n /**\n * Если нет создаем новый инстанс\n * и добавляем его к скрипту\n * @type {iModal}\n */\n this.modal = new iModal(script.innerHTML, {\n node_link: script,\n strict_hide: true\n });\n\n\n /**\n * Добавляем события на модалку\n */\n this._change_window_hash();\n window.addEventListener(\"hashchange\", this.change_window_hash_reference);\n\n attach_event(this.modal.element.querySelectorAll('.b-modal__close'), 'click', item => {\n this.modal.hide();\n });\n\n this.modal.attach('hide', event => {\n if (window.location.hash == this.hash) {\n window.location.hash = '';\n }\n });\n }\n\n node.addEventListener('click', event => {\n this.modal.show();\n });\n }\n }\n\n\n _change_window_hash() {\n if (window.location.hash === this.hash) {\n this.modal.show();\n } else if (!window.location.hash) {\n this.modal.hide();\n }\n }\n\n\n destructor() {\n window.removeEventListener(\"hashchange\", this.change_window_hash_reference);\n }\n}\n\n\nmodule.exports = Widget.init('.b-modal', bModal);\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-modal/b-modal.js","import {is_element, attach_event, get_widget, closest} from 'blocko/helpers'\nimport Widget from 'blocko/widget'\n\n\nimport iDropdown from 'blocko/widgets/i-dropdown/i-dropdown'\n\n\nclass bDropdown extends Widget {\n constructor(node) {\n super(node);\n\n this.hash = node.getAttribute('href');\n this.parent_body = undefined;\n\n if(node.hasAttribute('data-body')) {\n this.parent_body = node.getAttribute('data-body');\n }\n\n let script = document.querySelector(this.hash);\n\n this._dropdown = new iDropdown(node, this.parent_body, {width: 'auto'});\n\n this.node = node;\n\n if (is_element(script)) {\n this._dropdown.change_body(script.innerHTML);\n this._dropdown.modifier(script.id);\n\n\n attach_event(this._dropdown.body.querySelectorAll('.b-dropdown__close'), 'click', event => {\n this._dropdown.hide();\n });\n\n\n node.addEventListener('click', function () {\n if (this._dropdown.status) {\n this._dropdown.hide();\n } else {\n this._dropdown.show();\n }\n }.bind(this));\n }\n\n this._bind();\n }\n\n destructor() {\n document.removeEventListener('click', this._click_outside.bind(this));\n }\n\n _bind() {\n document.addEventListener('click', this._click_outside.bind(this));\n }\n\n _click_outside(event) {\n if (!closest(event.target, '.i-dropdown') && !this.node.contains(event.target)) {\n this._dropdown.hide();\n }\n }\n\n\n get dropdown() {\n return this._dropdown;\n }\n}\n\n\nmodule.exports = Widget.init('.b-dropdown', bDropdown);\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-dropdown/b-dropdown.js","import button_template from '../b-filter-values/b-filter-values_button-template.html';\n\nimport Widget from 'blocko/widget'\nimport {each, get_widget, get_widgets, closest} from 'blocko/helpers'\nimport {add_url_param, remove_url_param} from 'blocko/functions/url_params'\nimport render from 'blocko/functions/render'\n\n\nclass bDropdownFilter extends Widget {\n constructor(node) {\n super(node);\n\n this.dom = {\n form: node,\n submit_button: node.querySelector('.b-dropdown-filter__submit'),\n reset_button: undefined,\n values_wrap: undefined,\n values_result: undefined,\n values_buttons: undefined\n };\n\n let filter_values_wrap_class = node.getAttribute('data-values-body');\n\n if (filter_values_wrap_class) {\n this.dom.values_wrap = document.querySelector(filter_values_wrap_class + ' .b-filter-values__wrap');\n this.dom.values_result = document.querySelector(filter_values_wrap_class + ' .b-filter-values__result');\n this.dom.values_buttons = document.querySelector(filter_values_wrap_class + ' .b-filter-values__buttons');\n this.dom.reset_button = document.querySelector(filter_values_wrap_class + ' .b-filter-values__reset');\n } else {\n this.dom.values_wrap = document.querySelector('.b-filter-values__wrap');\n this.dom.values_result = document.querySelector('.b-filter-values__result');\n this.dom.values_buttons = document.querySelector('.b-filter-values__buttons');\n this.dom.reset_button = document.querySelector('.b-filter-values__reset');\n }\n\n this.filter_state = 0;\n\n this.form = get_widget(this.dom.form, 'iForm');\n this.set_get_params = node.getAttribute('data-get-params');\n\n this._init();\n }\n\n get state() {\n return this.filter_state;\n }\n\n _init() {\n this.dom.form.addEventListener('submit', this.form_submit.bind(this));\n\n if (this.dom.reset_button) {\n this.dom.reset_button.addEventListener('click', this._event_reset.bind(this));\n }\n\n this.button_count = 0;\n }\n\n _create_button(field) {\n let button = document.createElement('div');\n let button_name = field.node.getAttribute('data-name');\n\n let control_type = field.node.type;\n let action_type = field.node.getAttribute('data-type');\n let valid = false;\n let button_value = null;\n let is_ignored = field.node.getAttribute('data-ignore');\n\n button.className = 'b-filter-values__value';\n button.__widget__ = field.widget;\n\n switch (control_type) {\n case 'hidden':\n case 'button':\n case 'text':\n button_value = field.node.value;\n\n if (field.node.hasAttribute('data-alt-value')) {\n button_value = field.node.getAttribute('data-alt-value');\n }\n\n if (field.node.value) {\n valid = true;\n }\n break;\n case 'select-one':\n let option_index = field.node.selectedIndex;\n\n button_value = field.node.children[option_index].innerText;\n\n if (field.node.children[option_index].value) {\n valid = true;\n }\n break;\n case 'checkbox':\n button_value = field.node.value;\n\n if (field.node.hasAttribute('data-alt-value')) {\n button_value = field.node.getAttribute('data-alt-value');\n }\n\n if (field.node.checked) {\n valid = true;\n }\n break;\n }\n\n if (this.set_get_params) {\n if (valid) {\n add_url_param(field.node.name, field.node.value);\n } else {\n remove_url_param(field.node.name);\n }\n }\n\n if (!valid) {\n return\n }\n\n this.button_count++;\n\n\n if (!is_ignored) {\n button.innerHTML = render(button_template, {name: button_name, value: button_value, type: action_type});\n button.addEventListener('click', this._event_button_click.bind(this));\n return button;\n }\n }\n\n form_submit(event = null, is_dispatch = true) {\n if (event) {\n event.preventDefault();\n }\n\n let fragment = document.createDocumentFragment();\n let is_empty_form = true;\n\n this.form = get_widget(this.dom.form, 'iForm');\n\n if (this.form.validate()) {\n each(this.form.fields, field => {\n if (this._create_button(field)) {\n is_empty_form = false;\n fragment.appendChild(this._create_button(field));\n }\n });\n\n if (this.button_count > 0) {\n\n if (is_empty_form) {\n this.hide_filter_wrap();\n this.filter_state = 0;\n } else {\n this.dom.values_wrap.classList.remove('hidden');\n this.dom.values_buttons.innerHTML = '';\n this.dom.values_buttons.appendChild(fragment);\n this.filter_state = 1;\n }\n\n if (is_dispatch) {\n this.dispatch('submit', [this]);\n }\n }\n }\n }\n\n\n _event_button_click(event) {\n let button = event.currentTarget;\n\n if (closest(event.target, '.i-icon_close')) {\n\n if (button.__widget__ && button.__widget__.reset) {\n button.__widget__.reset();\n this.dom.values_buttons.removeChild(button);\n\n if (this.set_get_params) {\n remove_url_param(button.__widget__.name);\n }\n\n if (button.__widget__.type == 'button') {\n button.__widget__._field.setAttribute('data-alt-value', '');\n button.__widget__._field.innerText = '';\n }\n }\n\n } else if (closest(event.target, '.i-icon_sort')) {\n\n let index = button.__widget__._field.selectedIndex;\n let options = button.__widget__._field.options;\n let asc = button.__widget__._field.value.replace('-', '');\n let desc = '-' + asc;\n\n if (button.__widget__._field.value != desc) {\n options[index].value = desc;\n } else {\n options[index].value = asc;\n }\n }\n\n this._toggle_filter_wrap();\n this.dispatch('change', [this, event]);\n }\n\n _event_reset(event) {\n let button = event.currentTarget;\n\n each(this.form.fields, field => {\n if (field.widget._field.value) {\n field.widget.reset();\n if (this.set_get_params) {\n remove_url_param(field.widget.name);\n }\n }\n\n if (field.widget.type == 'button') {\n\n field.widget._field.setAttribute('data-alt-value', '');\n field.node.innerText = '';\n }\n });\n\n this.hide_filter_wrap();\n this.dom.values_buttons.innerHTML = '';\n this.button_count = 0;\n this.filter_state = 0;\n this.dispatch('click', [this]);\n }\n\n reset_field(name) {\n let button = this.dom.values_buttons.querySelector('[data-name=\"' + name + '\"]');\n\n if (button && this.form.fields) {\n this.dom.values_buttons.removeChild(button);\n\n each(this.form.fields, field => {\n if (field.widget.name == name) {\n if (field.widget.reset) {\n field.widget.reset();\n }\n }\n });\n }\n\n this._toggle_filter_wrap();\n }\n\n _toggle_filter_wrap() {\n if (this.dom.values_buttons.hasChildNodes()) {\n this.dom.values_wrap.classList.remove('hidden');\n this.button_count = 0;\n this.filter_state = 1;\n } else {\n this.dom.values_wrap.classList.add('hidden');\n this.filter_state = 0;\n }\n }\n\n hide_filter_wrap() {\n this.dom.values_wrap.classList.add('hidden');\n }\n\n set_result_count(count, who) {\n this.dom.values_result.innerText = 'Найдено ' + count + ' ' + who;\n }\n\n\n}\n\nmodule.exports = Widget.init('.b-dropdown-filter', bDropdownFilter);\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-dropdown-filter/b-dropdown-filter.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/common.web/blocks/b-filter-values/b-filter-values_button-template.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"\";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"name\"), env.opts.autoescape);\noutput += \": \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"value\"), env.opts.autoescape);\noutput += \"\\n\";\nif(runtime.contextOrFrameLookup(context, frame, \"type\") == \"sort\") {\noutput += \"\\n \\n\";\n;\n}\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/common.web/blocks/b-filter-values/b-filter-values_button-template.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-filter-values/b-filter-values_button-template.html","/**\n * Установка get параметра в url\n * @param param\n * @param value\n */\n\nconst queryStringToDict = require('./query-string-to-dict');\nconst dictToQueryString = require('./dict-to-query-string');\n\nexport function add_url_param(param, value) {\n let url = window.location.pathname;\n let data = {};\n let query;\n\n if (!value) {\n return;\n }\n\n data[param] = value;\n\n query = dictToQueryString(Object.assign(\n queryStringToDict(window.location.search),\n data\n ));\n\n if (query) {\n url += '?' + decodeURIComponent(query);\n }\n\n window.history.replaceState('', '', url + window.location.hash);\n}\n\n/**\n * Удаление get параметра в url\n * @param param\n */\n\nexport function remove_url_param(param) {\n let data = queryStringToDict(window.location.search);\n let url = window.location.pathname;\n let query;\n\n delete data[param];\n\n query = dictToQueryString(data);\n\n if (query) {\n url += '?' + decodeURIComponent(query);\n }\n\n window.history.replaceState('', '', url + window.location.hash);\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/functions/url_params.js","module.exports = function (query_string) {\n if (typeof query_string != \"string\" || query_string.length == 0) {\n return {};\n }\n\n query_string = (query_string[0] === '?') ? query_string.substr(1) : query_string;\n query_string = query_string.replace(/\\+/g, ' ');\n query_string = query_string.split(\"&\");\n\n let s_length = query_string.length;\n let bit;\n let query = {};\n let first;\n let second;\n\n for(var i = 0; i < s_length; i++) {\n bit = query_string[i].split(\"=\");\n first = bit[0];\n\n if (first.length == 0) {\n continue;\n }\n\n second = bit[1];\n\n if (typeof query[first] == \"undefined\") {\n query[first] = second;\n } else if (query[first] instanceof Array) {\n query[first].push(second);\n } else {\n query[first] = [query[first], second];\n }\n }\n\n return query;\n};\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/functions/query-string-to-dict.js","const each = require('../helpers').each;\n\n\nmodule.exports = function dict_to_query_string(dict, prefix) {\n let query = [];\n\n each(Object.keys(dict), item => {\n let prefix_key = isNaN(item) ? item : '';\n let key = prefix ? prefix + \"[\" + prefix_key + \"]\" : item;\n let value = dict[item];\n let chunk;\n\n if (value !== null && typeof value === \"object\") {\n chunk = dict_to_query_string(value, key);\n } else {\n chunk = encodeURIComponent(key) + \"=\" + encodeURIComponent(value);\n }\n\n query.push(chunk);\n });\n\n return query.join(\"&\");\n};\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/functions/dict-to-query-string.js","import Widget from 'blocko/widget'\nimport {add_url_param, remove_url_param} from 'blocko/functions/url_params'\n\nclass bSearch extends Widget {\n constructor(node) {\n super(node);\n\n this.dom = {\n clear: node.querySelector('.b-search__clear'),\n input: node.querySelector('.b-search__input')\n };\n\n this.set_get_params = node.getAttribute('data-get-params');\n\n this._bind();\n }\n\n\n _bind() {\n this.dom.clear.addEventListener('click', this._clear_input.bind(this));\n this.dom.input.addEventListener('input', this._show_button.bind(this));\n }\n\n\n _clear_input() {\n this.dom.input.value = \"\";\n this.dom.clear.classList.add('hidden');\n\n if (this.set_get_params) {\n remove_url_param(this.dom.input.name);\n }\n\n this.dispatch('click', [this]);\n }\n\n\n _show_button() {\n if (this.dom.input.value.length > 0) {\n this.dom.clear.classList.remove('hidden');\n } else {\n this.dom.clear.classList.add('hidden');\n if (this.set_get_params) {\n remove_url_param(this.dom.input.name);\n }\n }\n\n if (this.set_get_params) {\n add_url_param(this.dom.input.name, this.dom.input.value);\n }\n\n this.dispatch('input', [this]);\n }\n}\n\nmodule.exports = Widget.init('.b-search', bSearch);\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-search/b-search.js","import {get_widget, each, parse_json, post, closest} from 'blocko/helpers'\nimport {add_url_param, remove_url_param} from 'blocko/functions/url_params'\nimport Widget from 'blocko/widget'\n\n\n/**\n * Сортировка по столбцам в таблице. Диспатчит евент клика с активной сортировкой\n *\n * \n *\n * \n *\n * data-sort-type - указываем вид сортировки по умолчанию (asc, desc)\n *\n * data-sort-name - указываем имя поля для запроска к апи\n *\n * data-sort-additional - указываем второстепенные сортировки\n **\n */\n\nclass bTableSort extends Widget {\n\n constructor(node) {\n if (get_widget(node, 'bTableSort') !== null) {\n return;\n }\n\n super(node);\n\n this.dom = {\n widget: node,\n sort_buttons: node.querySelectorAll('.b-table-sort-item')\n };\n\n this.order_by = undefined;\n\n this.set_get_params = node.getAttribute('data-get-params');\n\n node.addEventListener('click', this._event_sort.bind(this));\n }\n\n /**\n * Эвент клика по шапке таблицы\n * @param event\n * @private\n */\n _event_sort(event) {\n let sort_item = event.target;\n\n if (sort_item.classList.contains('b-table-sort-item')) {\n\n each(this.dom.sort_buttons, (item, index) => {\n if(item != sort_item) {\n item.classList.remove('b-table-sort-item_asc');\n item.classList.remove('b-table-sort-item_desc');\n }\n });\n\n let sort_type = sort_item.getAttribute('data-sort-type');\n let sort_name = sort_item.getAttribute('data-sort-name');\n let additional = sort_item.getAttribute('data-sort-additional');\n let icon = sort_item.querySelector('.sort-icon');\n\n if (sort_type == 'desc') {\n sort_item.classList.remove('b-table-sort-item_asc');\n sort_item.classList.add('b-table-sort-item_desc');\n\n sort_item.setAttribute('data-sort-type', 'asc');\n this.order_by = sort_name + ':asc';\n\n } else if (sort_type == 'asc') {\n sort_item.classList.remove('b-table-sort-item_desc');\n sort_item.classList.add('b-table-sort-item_asc');\n\n sort_item.setAttribute('data-sort-type', 'desc');\n this.order_by = sort_name + ':desc';\n }\n\n if (additional) {\n this.order_by = this.order_by + ',' + additional;\n }\n\n if (this.set_get_params) {\n add_url_param('order_by', this.order_by);\n }\n\n this.dispatch('sort_click', [this]);\n }\n }\n\n /**\n * Смена сортировки на заданную в параметрах.\n * @param name\n * @param type\n */\n manual_sort(name, type) {\n each(this.dom.sort_buttons, item => {\n if (item.getAttribute('data-sort-name') == name) {\n if (type == 'desc') {\n item.classList.remove('b-table-sort-item_desc');\n item.classList.add('b-table-sort-item_asc');\n item.setAttribute('data-sort-type', 'desc');\n } else if (type == 'asc') {\n item.classList.remove('b-table-sort-item_asc');\n item.classList.add('b-table-sort-item_desc');\n item.setAttribute('data-sort-type', 'asc');\n }\n } else {\n item.classList.remove('b-table-sort-item_asc');\n item.classList.remove('b-table-sort-item_desc');\n }\n });\n }\n}\n\nmodule.exports = Widget.init('.b-table-sort', bTableSort);\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-table-sort/b-table-sort.js","import Widget from 'blocko/widget'\n\n/**\n * Кнопка сабмита. Предотвращение двойного надатия + спиннер\n */\nclass bButtonSubmit extends Widget {\n\n constructor(node) {\n super(node);\n\n this.dom = {\n node: node,\n spinner: document.createElement('span')\n };\n\n this._create_spinner();\n }\n\n\n /**\n * Создает ноду спинера\n * @private\n */\n _create_spinner() {\n this.dom.spinner.classList.add('b-button-submit__load');\n this.dom.spinner.classList.add('hidden');\n this.dom.node.insertAdjacentElement('afterBegin', this.dom.spinner);\n }\n\n\n /**\n * Блокировка кнопки\n */\n block_button() {\n this.dom.node.setAttribute('disabled', 'true');\n this.dom.spinner.classList.remove('hidden');\n }\n\n\n /**\n * Разблокировка кнопки\n */\n unblock_button() {\n this.dom.node.removeAttribute('disabled');\n this.dom.spinner.classList.add('hidden');\n }\n}\n\nmodule.exports = Widget.init('.b-button-submit', bButtonSubmit);\n\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-button-submit/b-button-submit.js","import template from './b-paginate__inner.html'\nimport render from '../../functions/render'\nimport Widget from '../../widget'\nimport {parse_json} from '../../helpers'\n\n\nclass bPaginate extends Widget {\n\n constructor(node) {\n super(node);\n\n this.dom = {\n widget: node\n };\n\n this.params = Object.assign({\n page: 0,\n limit: 100,\n size: 0,\n items: 4,\n link: '',\n left_button: '',\n right_button: ''\n }, parse_json(node.getAttribute('data-params')));\n\n\n this._bind();\n }\n\n\n /**\n * События определяются только для виджетов у которых небыло ссылок\n * @private\n */\n _bind() {\n if (this.dom.widget.classList.contains('b-paginate_ajax')) {\n this.dom.widget.addEventListener('click', event => {\n window.scrollTo(0, 0);\n let element = event.target;\n if (element.tagName == 'SPAN') {\n let index = element.getAttribute('data-index');\n\n if (index) {\n this.to(parseInt(index));\n }\n }\n });\n }\n }\n\n\n /**\n * Переключить на заданный индекс\n * @param index\n */\n to(index) {\n this.params.page = index;\n this.reset(this.params);\n this.dispatch('CHANGE', [index, this]);\n }\n\n\n /**\n * Переключить вперед на 1\n */\n next() {\n this.to(this.params.page + 1);\n }\n\n\n /**\n * Переключить назад на 1\n */\n prev() {\n this.to(this.params.page - 1);\n }\n\n\n /**\n * Перерисовать внутрености\n * @param params\n */\n reset(params) {\n this.params = Object.assign(this.params, params);\n this.dom.widget.innerHTML = render(template, {\n params: this.params\n });\n this.dispatch('RESET', [this.params, this]);\n }\n}\n\nmodule.exports = Widget.init('.b-paginate', bPaginate);\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/b-paginate/b-paginate.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/blocko/widgets/b-paginate/b-paginate__inner.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nvar t_1;\nt_1 = env.getFilter(\"round\").call(context, (runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"size\") / runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"limit\")),0,\"ceil\");\nframe.set(\"pages\", t_1, true);\nif(frame.topLevel) {\ncontext.setVariable(\"pages\", t_1);\n}\nif(frame.topLevel) {\ncontext.addExport(\"pages\", t_1);\n}\noutput += \"\\n\";\nvar t_2;\nt_2 = env.getFilter(\"int\").call(context, (runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"items\") / 2));\nframe.set(\"half\", t_2, true);\nif(frame.topLevel) {\ncontext.setVariable(\"half\", t_2);\n}\nif(frame.topLevel) {\ncontext.addExport(\"half\", t_2);\n}\noutput += \"\\n\\n\";\nvar t_3;\nt_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"page\") + runtime.contextOrFrameLookup(context, frame, \"half\") + 1;\nframe.set(\"end\", t_3, true);\nif(frame.topLevel) {\ncontext.setVariable(\"end\", t_3);\n}\nif(frame.topLevel) {\ncontext.addExport(\"end\", t_3);\n}\noutput += \"\\n\";\nif(runtime.contextOrFrameLookup(context, frame, \"end\") < runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"items\") + 1) {\noutput += \"\\n \";\nvar t_4;\nt_4 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"items\") + 1;\nframe.set(\"end\", t_4, true);\nif(frame.topLevel) {\ncontext.setVariable(\"end\", t_4);\n}\nif(frame.topLevel) {\ncontext.addExport(\"end\", t_4);\n}\noutput += \"\\n\";\n;\n}\noutput += \"\\n\\n\";\nif(runtime.contextOrFrameLookup(context, frame, \"end\") > runtime.contextOrFrameLookup(context, frame, \"pages\")) {\noutput += \"\\n \";\nvar t_5;\nt_5 = runtime.contextOrFrameLookup(context, frame, \"pages\");\nframe.set(\"end\", t_5, true);\nif(frame.topLevel) {\ncontext.setVariable(\"end\", t_5);\n}\nif(frame.topLevel) {\ncontext.addExport(\"end\", t_5);\n}\noutput += \"\\n\";\n;\n}\noutput += \"\\n\\n\\n\";\nvar t_6;\nt_6 = runtime.contextOrFrameLookup(context, frame, \"end\") - (runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"items\") + 1);\nframe.set(\"start\", t_6, true);\nif(frame.topLevel) {\ncontext.setVariable(\"start\", t_6);\n}\nif(frame.topLevel) {\ncontext.addExport(\"start\", t_6);\n}\noutput += \"\\n\";\nif(runtime.contextOrFrameLookup(context, frame, \"start\") < 0) {\noutput += \"\\n \";\nvar t_7;\nt_7 = 0;\nframe.set(\"start\", t_7, true);\nif(frame.topLevel) {\ncontext.setVariable(\"start\", t_7);\n}\nif(frame.topLevel) {\ncontext.addExport(\"start\", t_7);\n}\noutput += \"\\n\";\n;\n}\noutput += \"\\n\\n\\n\";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"link\")) {\noutput += \"\\n \";\nvar t_8;\nt_8 = \"a\";\nframe.set(\"tag\", t_8, true);\nif(frame.topLevel) {\ncontext.setVariable(\"tag\", t_8);\n}\nif(frame.topLevel) {\ncontext.addExport(\"tag\", t_8);\n}\noutput += \"\\n\";\n;\n}\nelse {\noutput += \"\\n \";\nvar t_9;\nt_9 = \"span\";\nframe.set(\"tag\", t_9, true);\nif(frame.topLevel) {\ncontext.setVariable(\"tag\", t_9);\n}\nif(frame.topLevel) {\ncontext.addExport(\"tag\", t_9);\n}\noutput += \"\\n\";\n;\n}\noutput += \"\\n\\n\";\nif(runtime.contextOrFrameLookup(context, frame, \"end\") > 1) {\noutput += \"\\n\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"left_button\") && runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"page\") - 1 > -1) {\noutput += \"\\n <\";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"tag\"), env.opts.autoescape);\noutput += \" href=\\\"\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"link\") + (runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"page\") - 1), env.opts.autoescape);\noutput += \"\\\" data-index=\\\"\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"page\") - 1, env.opts.autoescape);\noutput += \"\\\" class=\\\"b-button b-button_secondary b-paginate__left-button\\\">\\n \";\noutput += runtime.suppressValue(env.getFilter(\"safe\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"left_button\")), env.opts.autoescape);\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n\\n
\\n \";\nframe = frame.push();\nvar t_12 = (lineno = 34, colno = 23, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"range\"), \"range\", context, [runtime.contextOrFrameLookup(context, frame, \"start\"),runtime.contextOrFrameLookup(context, frame, \"end\")]));\nif(t_12) {var t_11 = t_12.length;\nfor(var t_10=0; t_10 < t_12.length; t_10++) {\nvar t_13 = t_12[t_10];\nframe.set(\"i\", t_13);\nframe.set(\"loop.index\", t_10 + 1);\nframe.set(\"loop.index0\", t_10);\nframe.set(\"loop.revindex\", t_11 - t_10);\nframe.set(\"loop.revindex0\", t_11 - t_10 - 1);\nframe.set(\"loop.first\", t_10 === 0);\nframe.set(\"loop.last\", t_10 === t_11 - 1);\nframe.set(\"loop.length\", t_11);\noutput += \"\\n <\";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"tag\"), env.opts.autoescape);\noutput += \" href=\\\"\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"link\") + t_13, env.opts.autoescape);\noutput += \"\\\" data-index=\\\"\";\noutput += runtime.suppressValue(t_13, env.opts.autoescape);\noutput += \"\\\" class=\\\"b-paginate__item\";\noutput += runtime.suppressValue((t_13 == runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"page\")?\" b-paginate__item_active\":\"\"), env.opts.autoescape);\noutput += \"\\\">\\n \";\noutput += runtime.suppressValue(t_13 + 1, env.opts.autoescape);\noutput += \"\\n \\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n
\\n\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"right_button\") && runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"page\") + 1 < runtime.contextOrFrameLookup(context, frame, \"pages\")) {\noutput += \"\\n <\";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"tag\"), env.opts.autoescape);\noutput += \" href=\\\"\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"link\") + (runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"page\") + 1), env.opts.autoescape);\noutput += \"\\\" data-index=\\\"\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"page\") + 1, env.opts.autoescape);\noutput += \"\\\" class=\\\"b-button b-button_secondary b-paginate__right-button\\\">\\n \";\noutput += runtime.suppressValue(env.getFilter(\"safe\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"right_button\")), env.opts.autoescape);\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n\\n\";\n;\n}\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/blocko/widgets/b-paginate/b-paginate__inner.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/b-paginate/b-paginate__inner.html","import {get_widget, each, parse_json, post} from 'blocko/helpers'\nimport {append_alert, push_alert} from 'blocko/functions/alert'\nimport Widget from 'blocko/widget'\n\n\n/**\n * EVENTS\n * submit - Вызывается при сабмите виджета\n * response - Вызывается при получении ответа от сервера\n *\n * data-redirect = False\n * data-redirect-type = False\n */\n\nclass iAjaxForm extends Widget {\n\n constructor(node) {\n if (get_widget(node, 'iAjaxForm') !== null) {\n return;\n }\n\n super(node);\n\n this.dom = {\n widget: node,\n default_text: node.querySelector('.i-ajax-form__default-text-error'),\n error_block: node.querySelector('.i-ajax-form__error'),\n error_text: node.querySelector('.i-ajax-form__error-text'),\n submit_button: node.querySelector('[type=submit]'),\n redirect: false\n };\n\n\n /**\n * Остановливает отправку формы\n * @type {boolean}\n * @private\n */\n this._is_stop = false;\n\n\n /**\n * Остановливает перезагрузку страницы\n * @type {boolean}\n * @private\n */\n this._is_reload = true;\n\n\n /**\n * Таймер ответ от сервера\n * @type {number}\n */\n this.timer = 0;\n\n\n /**\n * Виджет кнопки сабмит\n * @type {*}\n */\n this.b_button_submit = get_widget(this.dom.submit_button, 'bButtonSubmit');\n\n node.addEventListener('submit', this._event_submit.bind(this));\n }\n\n\n _event_submit(event) {\n event.preventDefault();\n this.clear_error();\n\n let widget_form = get_widget(this.dom.widget, \"iForm\");\n this.dispatch('submit', [this, widget_form]);\n\n if (!this._is_stop && widget_form.validate()) {\n this.b_button_submit.block_button();\n let data = widget_form.dict;\n\n /**\n * Осуществляет предподготовку данных в полях включающих слова \"date\", \"day\", \"duration\"\n */\n each(Object.keys(data), item => {\n if (item.includes('date') || item.includes('day')){\n data[item] = this._to_timestamp(data[item]);\n } else if (item.includes('duration')) {\n data[item] = this._convert_duration(data[item]);\n }\n });\n\n this.start_timer();\n post(this.dom.widget.action, data, response => {\n response = parse_json(response);\n this.dispatch('response', [this, response]);\n\n this.stop_timer();\n if (response.success) {\n if (this._is_reload) {\n location.hash = '';\n let url = this.dom.widget.getAttribute('data-redirect');\n let type = this.dom.widget.getAttribute('data-redirect-type');\n\n if (url && type) {\n location.replace(url + response.data[type].id);\n } else if (url) {\n location.replace(url);\n } else {\n location.reload();\n }\n }\n\n } else {\n this.set_error(response.errmess);\n }\n this.b_button_submit.unblock_button();\n });\n }\n }\n\n /**\n * Останавливает отправку запроса\n */\n stop_submit() {\n this._is_stop = true;\n }\n\n\n /**\n * Продолжает отправку запроса если форма валидна\n */\n start_submit() {\n this._is_stop = false;\n }\n\n\n /**\n * Запрещает перезагрузку страницы\n */\n stop_reload() {\n this._is_reload = false;\n }\n\n\n /**\n * Разрешает перезагрузку страницы\n */\n start_reload() {\n this._is_reload = true;\n }\n\n\n /**\n * Устанавливает ошибку и прирывает отправку запроса\n * @param error_message\n */\n set_error(error_message) {\n this.stop_submit();\n if (this.dom.default_text) {\n this.dom.default_text.classList.add('hidden');\n }\n\n if (this.dom.error_block) {\n this.dom.error_block.classList.remove('hidden');\n this.dom.error_text.innerHTML = error_message;\n }\n }\n\n\n /**\n * Удаляет ошибку и разрешает отправку запроса если форма валидна\n */\n clear_error(){\n this.start_submit();\n if (this.dom.default_text) {\n this.dom.default_text.classList.remove('hidden');\n }\n if (this.dom.error_block) {\n this.dom.error_block.classList.add('hidden');\n }\n }\n\n /**\n * Устанавливает таймер\n */\n start_timer() {\n this.timer = setTimeout(function () {\n append_alert('server timeout', 'Сервер не ответил на запрос', 'error');\n push_alert();\n document.querySelector('.alert__item-close').addEventListener('click', () => {\n location.reload();\n });\n }, 10000);\n }\n\n /**\n * Обнуляет таймер\n */\n stop_timer() {\n clearTimeout(this.timer);\n }\n\n\n /**\n * Перевод в timestamp\n */\n _to_timestamp(date) {\n if (date) {\n let new_date = date.split('.');\n new_date.reverse();\n new_date.join('-');\n return new Date(new_date.join('-')).getTime()/1000;\n }\n return '';\n }\n\n\n /**\n * Перевод строки типа 00:00:00 в секунды\n */\n _convert_duration(time) {\n if (time) {\n let time_list = time.split(':');\n let result = 0;\n let seconds_multiplier = 1;\n\n each(time_list.reverse(), item => {\n result += item * seconds_multiplier;\n seconds_multiplier *= 60;\n });\n return result;\n }\n }\n}\n\nmodule.exports = Widget.init('.i-ajax-form', iAjaxForm);\n\n\n// WEBPACK FOOTER //\n// ./source/templates/i-ajax-form/i-ajax-form.js","import {each} from '../helpers'\nlet _scope = {};\n\n\nexport function append_alert(alert_name, message, type='default') {\n if (!alert_name) {\n throw 'Error: alert_name is empty';\n }\n\n if (!_scope[alert_name]) {\n _scope[alert_name] = [];\n }\n\n _scope[alert_name].push({\n message: message,\n type: type\n });\n\n return alert_name;\n}\n\n\nexport function push_alert(alert_name=false) {\n if (alert_name === false) {\n each(Object.keys(_scope), alert_name => {\n push_alert(alert_name);\n });\n return;\n }\n\n if (!_scope[alert_name]) {\n return;\n }\n\n let box = document.querySelector('.alert');\n\n if (!box) {\n box = document.createElement('DIV');\n box.className = 'alert';\n document.body.appendChild(box);\n }\n\n each(_scope[alert_name], item => {\n let div = document.createElement('DIV');\n div.className = 'alert__item alert__item_' + item.type;\n div.innerHTML = item.message;\n\n box.appendChild(div);\n\n if (['warning', 'error'].indexOf(item.type) > -1) {\n let i = document.createElement('I');\n i.classList.add('alert__item-close');\n div.appendChild(i);\n i.addEventListener('click', event => {\n div.classList.add('alert__item_end');\n\n div.addEventListener('animationend', event => {\n div.parentNode.removeChild(div);\n });\n });\n } else {\n setTimeout(function () {\n div.classList.add('alert__item_end');\n\n div.addEventListener('animationend', event => {\n div.parentNode.removeChild(div);\n });\n }, 3 * 1000);\n }\n });\n\n _scope[alert_name] = [];\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/functions/alert.js","import {get_widget, each, closest} from 'blocko/helpers'\nimport Widget from 'blocko/widget'\n\n\n/**\n * Переключение видимости блоков относительно выбраного пункта в селекте\n *\n * \n * data-select-toggle-validate - вешается на те элементы у которых нужно убрать или поставить валидаторы,\n * val соответствуюет значениям в селекте,\n * если атрибут присутствует у тега,\n * во всех случаях кроме перечисленных внутри атрибута,\n * валидаторы будут сняты с элемента\n *\n * \n * data-select-toggle-disabled - вешается на те элементы, которым нужно установить аттрибут disabled,\n * val соответствуюет значениям в селекте,\n * если атрибут присутствует у тега,\n * во всех случаях кроме перечисленных внутри атрибута,\n * аттрибут disabled будет снят\n */\nclass iSelectToggle extends Widget {\n\n constructor(node) {\n if (get_widget(node, 'iSelectToggle') !== null) {\n return;\n }\n\n super(node);\n\n this.dom = {\n widget: node,\n parent: document\n };\n\n if (node.hasAttribute('data-select-toggle-parent')) {\n this.dom.parent = closest(node, node.getAttribute('data-select-toggle-parent'));\n }\n\n this.dom.fields_validate = this.dom.parent.querySelectorAll('[data-select-toggle-validate]');\n\n this.fields_validate_frozen = {};\n each(this.dom.fields_validate, item => {\n this.fields_validate_frozen[item.name] = item.getAttribute('validate');\n });\n\n this._event_change();\n node.addEventListener('change', this._event_change.bind(this));\n }\n\n /**\n * Ручное переключение видимости блоков. Value - значение в которое перейдет виджет\n * @param value\n */\n manual_change(value='') {\n this.dom.widget.value = value;\n this._event_change();\n }\n\n\n _event_change() {\n let value = this.dom.widget.value;\n\n let attribute_name = 'data-select-toggle';\n each(this.dom.parent.querySelectorAll('['+ attribute_name +']'), item => {\n let is = !item.getAttribute(attribute_name).includes(value);\n if (is) {\n item.style.display = 'none';\n } else {\n item.style.display = '';\n }\n\n this._check_form_field(item, is);\n });\n\n each(this.dom.fields_validate, item => {\n let is = !item.getAttribute('data-select-toggle-validate').includes(value);\n\n this._check_form_field(item, is);\n });\n\n let attribute_name_disabled = 'data-select-toggle-disabled';\n each(this.dom.parent.querySelectorAll('['+ attribute_name_disabled +']'), item => {\n let is = !item.getAttribute(attribute_name_disabled).includes(value);\n\n this._set_disable(item, is);\n });\n\n this.dispatch('after_change', [this]);\n }\n\n\n /**\n * Если указанная нода является элементом формы,\n * убираем с нее валидаторы или ставим в зависимоти от ее видимости\n *\n * @param node\n * @param is\n * @private\n */\n _check_form_field(node, is) {\n let attribute_name = 'validate';\n\n if (['INPUT', 'SELECT', 'TEXTAREA'].includes(node.tagName)) {\n if (is) {\n node.__validate__ = node.getAttribute(attribute_name);\n node.removeAttribute(attribute_name);\n } else {\n node.setAttribute(attribute_name, this.fields_validate_frozen[node.name]);\n }\n }\n }\n\n /**\n * Если указаная нода является элементом формы\n * убираем с нее аттрибут disabled или ставим в зависимости от ее видимости\n * @param node\n * @param is\n * @private\n */\n _set_disable(node, is) {\n let attribute_name = 'disabled';\n\n if (['INPUT', 'SELECT', 'TEXTAREA'].includes(node.tagName)) {\n if (is) {\n node.removeAttribute(attribute_name);\n } else {\n node.setAttribute(attribute_name, attribute_name);\n }\n }\n }\n}\n\n\nmodule.exports = Widget.init('.i-select-toggle', iSelectToggle);\n\n\n// WEBPACK FOOTER //\n// ./source/templates/i-select-toggle/i-select-toggle.js","import {get_widget, each} from 'blocko/helpers'\nimport Widget from 'blocko/widget'\n\n\n/**\n * Собирает значения с выбранных полей и заносит в указаное поле через разделитель \"Пробел\"\n *\n * \n * data-donor - вешается на те инпуты, с которых будут собираться значения\n *\n * *\n * \n * data-acceptor - вешается на тот инпут, в который будут собираться значения.\n *\n */\nclass iInputAggregation extends Widget {\n\n constructor(node) {\n if (get_widget(node, 'iInputAggregation') !== null) {\n return;\n }\n\n super(node);\n\n this.dom = {\n widget: node,\n donor: node.querySelectorAll('[data-donor]'),\n acceptor: node.querySelector('[data-acceptor]'),\n };\n\n this.dom.acceptor.addEventListener('focus', this._event_focus.bind(this));\n this.dom.acceptor.addEventListener('blur', this._event_focus.bind(this));\n }\n\n\n _event_focus() {\n let field_widget = get_widget(this.dom.acceptor, 'iFormField');\n let inner_value = '';\n\n if (!this.dom.acceptor.value) {\n each(this.dom.donor, item => {\n if (item.value) {\n inner_value += item.value + ' ';\n }\n });\n\n this.dom.acceptor.value = inner_value.trim();\n }\n\n /**\n * Перевалидируем поле акцептора\n */\n if (field_widget) {\n field_widget.validate();\n }\n }\n\n}\n\n\nmodule.exports = Widget.init('.i-input-aggregation', iInputAggregation);\n\n\n// WEBPACK FOOTER //\n// ./source/templates/i-input-aggregation/i-input-aggregation.js","import {post, attach_event, parse_json, get_widget} from 'blocko/helpers'\nimport template from '../b-table-row-removal/b-table-row-removal.html'\nimport Widget from 'blocko/widget'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\nimport render from 'blocko/functions/render'\n\n\n/**\n * \n * Создает эвент на выбраной ноде. По клику на кнопку удаления вызывается модальное окно\n * *\n * Атрибуты, которые необходимо передать на кнопке удаления:\n *\n * data-id - id записи, которую планируется удалить\n * data-url - метод апи для удаления записи\n * data-name(необязательная) - Имя записи для информирования пользователя\n */\nclass bTableRowRemoval extends Widget {\n\n constructor(node) {\n if (get_widget(node, 'bTableRowRemoval') !== null) {\n return;\n }\n\n super(node);\n\n this.dom = {\n widget: node,\n error_block: undefined,\n error_text: undefined\n };\n\n this.dom.widget.addEventListener('click', event => {\n if (event.target.classList.contains('b-table-row-removal__button')) {\n this._create_modal(event);\n }\n });\n }\n\n /**\n * Создание модалки.\n * @param event\n * @private\n */\n _create_modal(event) {\n\n let button = event.target;\n\n this.modal = get_widget(button, 'iModal');\n\n if (this.modal === null) {\n\n this.data_id = button.getAttribute('data-id');\n this.url = button.getAttribute('data-url');\n this.data_name = button.getAttribute('data-name');\n\n /**\n * Если нет создаем новый инстанс\n * @type {iModal}\n */\n this.modal = new iModal(render(template, {name: this.data_name}), {\n node_link: button\n });\n\n this.dom.error_block = this.modal.element.querySelector('.b-table-row-removal__error');\n this.dom.error_text = this.modal.element.querySelector('.b-table-row-removal__error-text');\n this.dom.submit_button = this.modal.element.querySelector('.b-table-row-removal__submit');\n this.b_button_submit = get_widget(this.dom.submit_button, 'bButtonSubmit');\n\n /**\n * Добавляем события на модалку\n */\n attach_event(this.modal.element.querySelectorAll('.b-table-row-removal__close'), 'click', item => {\n this.modal.hide();\n });\n\n this.dom.submit_button.addEventListener('click', () => {\n this._submit_removal();\n });\n }\n\n this.modal.show();\n }\n\n\n /**\n * Подтверждение удаления записи\n * @private\n */\n _submit_removal() {\n this.b_button_submit.block_button();\n post(this.url, {id: this.data_id}, response => {\n response = parse_json(response);\n if (response.success == 1) {\n location.reload();\n } else {\n this.set_error(response.errmess);\n }\n });\n this.b_button_submit.unblock_button();\n }\n\n\n /**\n * Устанавливает ошибку\n * @param error_message\n */\n set_error(error_message){\n if (this.dom.error_block) {\n this.dom.error_block.classList.remove('hidden');\n this.dom.error_text.innerHTML = error_message;\n }\n }\n\n\n /**\n * Удаляет ошибку\n */\n clear_error(){\n if (this.dom.error_block) {\n this.dom.error_block.classList.add('hidden');\n }\n }\n}\n\n\nmodule.exports = Widget.init('.b-table-row-removal', bTableRowRemoval);\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-table-row-removal/b-table-row-removal.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/vois.1.rms.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-table-row-removal/b-table-row-removal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n Вы действительно хотите удалить запись \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"name\"), env.opts.autoescape);\noutput += \"\\n
\\n\\nПри нажатии ОК запись \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"name\"), env.opts.autoescape);\noutput += \" будет удалена из системы\\n\\n\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-table-row-removal/b-table-row-removal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-table-row-removal/b-table-row-removal.html","import {get_widget} from 'blocko/helpers'\nimport Widget from 'blocko/widget'\n\n\n/**\n * Сравнивает значения двух полей с датами по таймштампу. Если сравнение не проходит по заданным параметром -\n * устанавливает ошибку валидации на обоих полях\n *\n * \n * i-date-comparison - по классу инициируется виджет\n * data-linked-field - атрибут принимает название класса линкованого поля\n * data-comparison-type - атрибут устанавливает тип сравнения. lt - lower than, gt - greater than\n *\n * */\nclass iDateComparison extends Widget {\n\n constructor(node) {\n if (get_widget(node, 'iDateComparison') !== null) {\n return;\n }\n\n super(node);\n\n this.dom = {\n widget: node,\n linked_field: document.querySelector(node.getAttribute('data-linked-field'))\n };\n\n this.form_fields = {\n widget: get_widget(this.dom.widget, 'iFormField'),\n linked_field: get_widget(this.dom.linked_field, 'iFormField')\n };\n\n this.comparison_type = node.getAttribute('data-comparison-type');\n\n this.dom.widget.addEventListener('blur', this._event_input_comparison.bind(this));\n this.dom.linked_field.addEventListener('blur', this._event_input_comparison.bind(this));\n }\n\n\n _event_input_comparison() {\n this.dom.widget.setAttribute('validate', 'num_date');\n this.dom.linked_field.setAttribute('validate', 'num_date');\n\n if (this.dom.linked_field.value && this.dom.widget.value) {\n if (this.form_fields.widget.validate() && this.form_fields.linked_field.validate()) {\n if (this.comparison_type === 'lt') {\n this._comparison_lt();\n } else if (this.comparison_type === 'gt') {\n this._comparison_gt();\n }\n }\n }\n }\n\n\n _comparison_lt() {\n if (this._to_timestamp(this.dom.widget.value) < this._to_timestamp(this.dom.linked_field.value)) {\n this.dom.widget.setAttribute('validate', 'num_date, period');\n this.dom.linked_field.setAttribute('validate', 'num_date, period');\n } else {\n this.dom.widget.setAttribute('validate', 'num_date');\n this.dom.linked_field.setAttribute('validate', 'num_date');\n }\n\n this.form_fields.widget.validate();\n this.form_fields.linked_field.validate();\n }\n\n\n _comparison_gt() {\n if (this._to_timestamp(this.dom.widget.value) > this._to_timestamp(this.dom.linked_field.value)) {\n this.dom.widget.setAttribute('validate', 'num_date, period');\n this.dom.linked_field.setAttribute('validate', 'num_date, period');\n } else {\n this.dom.widget.setAttribute('validate', 'num_date');\n this.dom.linked_field.setAttribute('validate', 'num_date');\n }\n\n this.form_fields.widget.validate();\n this.form_fields.linked_field.validate();\n }\n\n\n /**\n * Перевод в timestamp\n */\n _to_timestamp(data) {\n let new_date = data.split('.');\n new_date.reverse();\n new_date.join('-');\n return new Date(new_date.join('-')).getTime()/1000;\n }\n}\n\n\nmodule.exports = Widget.init('.i-date-comparison', iDateComparison);\n\n\n// WEBPACK FOOTER //\n// ./source/templates/i-date-comparison/i-date-comparison.js","import {get_widget, convert_date} from 'blocko/helpers'\nimport Widget from 'blocko/widget'\n\n\n/**\n * Устанавливает указаной ноде в value текущую дату. Подменяет дефолтное значение в iFormField\n * *\n * Использование \n *\n */\nclass bInputToday extends Widget {\n\n constructor(node) {\n if (get_widget(node, 'bInputToday') !== null) {\n return;\n }\n\n super(node);\n\n this.node_widget = get_widget(node, 'iFormField');\n node.value = this.node_widget._default_value = convert_date(Date.now()/1000, 'number');\n }\n}\n\n\nmodule.exports = Widget.init('.b-input-today', bInputToday);\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-input-today/b-input-today.js","import {get_widget, each} from 'blocko/helpers'\nimport Widget from 'blocko/widget'\n\nconst DELETE_KEY = 46;\nconst BACKSPACE_KEY = 8;\nconst ENTER_KEY = 13;\n\n/**\n * Инициализирует маску на выбранном инпуте.\n * *\n * \n * * data-mask - маска, где символом \"_\" указываются позиции для ввода. Остальные символы считаются разделителями\n * и остаются неизменными\n *\n * * data-pattern - регулярка по которой будут проверятся вводимые символы\n */\nclass bInputMask extends Widget {\n\n constructor(node) {\n\n if (get_widget(node, 'bInputMask') !== null) {\n return;\n }\n\n super(node);\n\n this.dom = {\n widget: node,\n form_field_widget: get_widget(node, 'iFormField')\n };\n\n this.mask = node.getAttribute('data-mask');\n this.pattern = node.getAttribute('data-pattern');\n\n this.dom.widget.addEventListener('focus', this._event_focus.bind(this));\n this.dom.widget.addEventListener('blur', this._event_blur.bind(this));\n this.dom.widget.addEventListener('keydown', this._event_keydown.bind(this));\n this.dom.widget.addEventListener('keypress', this._event_keypress.bind(this));\n this.dom.widget.addEventListener('click', this._event_click.bind(this));\n this.dom.widget.addEventListener('input', this._event_input.bind(this));\n }\n\n\n /**\n * По клику на пустое поле устанавливает курсор в начало строки\n * @private\n */\n _event_click() {\n if (!this.dom.form_field_widget.value()) {\n event.target.setSelectionRange(0,0);\n }\n }\n\n\n /**\n * При фокусе на пустое поле - устанавливает маску. Задержка ввода маски в поле для корректной отработки эвента клика\n * @private\n */\n _event_focus() {\n setTimeout(function () {\n if (!this.dom.form_field_widget.value()) {\n this.dom.form_field_widget.value(this.mask);\n this.dom.widget.setSelectionRange(0,0);\n } else if (this.dom.form_field_widget.value().length != this.mask.length) {\n this._merge_value();\n }\n }.bind(this), 50);\n\n this.dispatch('event', [event, this]);\n }\n\n\n /**\n * При потере фокуса, если ничего не было введено - удаляет маску с поля\n * @private\n */\n _event_blur() {\n if (this.dom.form_field_widget.value() == this.mask) {\n this.dom.form_field_widget.value('');\n }\n this.dom.form_field_widget.validate();\n\n this.dispatch('event', [event, this]);\n }\n\n\n /**\n * Обработка нажатия на клавиши \"Delete\"(46) и \"Backspace\"(8)\n * @private\n */\n _event_keydown(event) {\n if (event.keyCode == DELETE_KEY || event.keyCode == BACKSPACE_KEY) {\n event.preventDefault();\n\n let cursor_start = this.dom.widget.selectionStart;\n let cursor_end = this.dom.widget.selectionEnd;\n let buffer_value = this.dom.form_field_widget.value();\n\n if (event.keyCode == DELETE_KEY) {\n if (cursor_start == cursor_end && cursor_start != this.mask.length) {\n this.dom.form_field_widget.value(this._replace_by_mask(buffer_value, cursor_start, cursor_end, event.keyCode));\n this.dom.widget.selectionStart = cursor_end + 1;\n this.dom.widget.selectionEnd = cursor_end + 1;\n }\n\n else if (cursor_start < cursor_end) {\n this.dom.form_field_widget.value(this._replace_by_mask(buffer_value, cursor_start, cursor_end, event.keyCode));\n this.dom.widget.selectionStart = cursor_start;\n this.dom.widget.selectionEnd = cursor_start;\n }\n\n } else if (event.keyCode == BACKSPACE_KEY) {\n if (cursor_start == cursor_end && cursor_start != 0) {\n this.dom.form_field_widget.value(this._replace_by_mask(buffer_value, cursor_start, cursor_end, event.keyCode));\n this.dom.widget.selectionStart = cursor_start - 1;\n this.dom.widget.selectionEnd = cursor_start - 1;\n\n } else if (cursor_end <= this.mask.length && cursor_start != cursor_end) {\n this.dom.form_field_widget.value(this._replace_by_mask(buffer_value, cursor_start, cursor_end, event.keyCode));\n this.dom.widget.selectionStart = cursor_start;\n this.dom.widget.selectionEnd = cursor_start;\n }\n }\n this.dom.form_field_widget.validate();\n\n this.dispatch('event', [event, this]);\n }\n }\n\n\n /**\n * Обработка ввода с клавиатуры. Из обработки исключается клавиша \"Enter\"(13)\n * @private\n */\n _event_keypress(event) {\n if (event.keyCode != ENTER_KEY) {\n event.preventDefault();\n\n let key = event.key;\n let cursor = this.dom.widget.selectionStart;\n let value = this.dom.form_field_widget.value().split('');\n\n if (!this._check_regexp(key)) {\n return;\n }\n\n if (cursor < this.mask.length) {\n if (this.mask[cursor] == '_') {\n value[cursor] = key;\n } else {\n value[++cursor] = key;\n }\n this.dom.form_field_widget.value(value.join(''));\n }\n\n this.dom.widget.selectionStart = cursor + 1;\n this.dom.widget.selectionEnd = cursor + 1;\n this.dom.form_field_widget.validate();\n\n this.dispatch('event', [event, this]);\n }\n }\n\n\n /**\n * Обработка CTRL+V\n * @private\n */\n _event_input() {\n\n if (this.dom.form_field_widget.value().length > this.mask.length) {\n this.dom.form_field_widget.value(this.dom.form_field_widget.value().replace(this.mask, ''));\n }\n }\n\n\n /**\n * Накладывание значение поля на маску. Обрезка лишних символов, если такие имеются\n * @private\n */\n _merge_value() {\n let mask_true_length = (this.mask.match(/_/g) || []).length;\n this.dom.form_field_widget.value(this.dom.form_field_widget.value().slice(0, mask_true_length));\n\n let value_split = this.dom.form_field_widget.value().split('');\n let mask_split = this.mask.split('');\n let result = [];\n let step = 0;\n\n each(value_split, (item, index) => {\n if (mask_split[index] == undefined || mask_split[index + step] == '_') {\n result.push(item);\n } else {\n result.push(mask_split[index+step]);\n result.push(item);\n step += 1;\n }\n });\n\n this.dom.form_field_widget.value(result.join(''));\n }\n\n\n /**\n * Проверка введеного символа по заданной регулярке\n * @param value\n * @returns {boolean}\n * @private\n */\n _check_regexp(value) {\n if (this.pattern) {\n let re = new RegExp(this.pattern);\n return re.test(value);\n }\n return true;\n }\n\n\n /**\n * Заменяет по индексам значение в string на соответсвующие в маске\n * @param string\n * @param start\n * @param end\n * @param key_code\n * @returns {*}\n * @private\n */\n _replace_by_mask(string, start, end, key_code) {\n if (start == end) {\n if (key_code == DELETE_KEY) {\n return string.substring(0, start) + this.mask[start] + string.substring(start + 1);\n } else if (key_code == BACKSPACE_KEY) {\n return string.substring(0, start - 1) + this.mask[start - 1] + string.substring(start);\n }\n } else {\n return string.substring(0, start) + this.mask.substring(start, end) + string.substring(end);\n }\n }\n}\n\n\nmodule.exports = Widget.init('.b-input-mask', bInputMask);\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-input-mask/b-input-mask.js","import template from '../b-confirm-modal/b-confirm-modal.html'\nimport Widget from 'blocko/widget'\nimport {get_widget} from 'blocko/helpers'\nimport render from 'blocko/functions/render'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\n\n\n/**\n * Модальное окно подтверждения действия. Диспатчит нажатие кнопки согласия и закрытие модального окна\n * Метод change_content() принимает строку и заполняет ей блок контента модального окна\n *\n */\nclass bConfirmModal extends Widget {\n\n constructor(node) {\n if (get_widget(node, 'bConfirmModal') !== null) {\n return;\n }\n\n super(node);\n\n this.dom = {\n node: node,\n confirm_button: undefined,\n cancel_button: undefined,\n content: undefined\n };\n\n this.modal = undefined;\n this.b_button_submit = undefined;\n\n this._create_modal();\n }\n\n\n /**\n * Создание модалки.\n * @private\n */\n _create_modal() {\n let button = this.dom.node;\n this.modal = get_widget(button, 'iModal');\n\n if (this.modal === null) {\n this.modal = new iModal(render(template, {}), {\n node_link: button,\n strict_hide: true\n });\n\n this.dom.confirm_button = this.modal.element.querySelector('.b-confirm-modal__confirm');\n this.dom.cancel_button = this.modal.element.querySelector('.b-confirm-modal__cancel');\n this.dom.content = this.modal.element.querySelector('.b-confirm-modal__content');\n\n this.b_button_submit = get_widget(this.dom.confirm_button, 'bButtonSubmit');\n\n this.dom.cancel_button.addEventListener('click', event => {\n this._cancel_action(event);\n });\n\n this.dom.confirm_button.addEventListener('click', event => {\n this._confirm_action(event);\n });\n }\n }\n\n\n /**\n * Эвент подтверждения действия\n * @param event\n * @private\n */\n _confirm_action(event) {\n this.dispatch('confirm', [event, this]);\n this.modal.hide();\n }\n\n\n /**\n * Эвент закрытия модальноего окна\n * @param event\n * @private\n */\n _cancel_action(event) {\n this.dispatch('cancel', [event, this]);\n this.modal.hide();\n }\n\n\n /**\n * Меняет контент блока\n * @param string\n */\n change_content(string) {\n this.dom.content.innerHTML = string;\n this.modal.show();\n }\n}\n\nmodule.exports = Widget.init('.b-confirm-modal', bConfirmModal);\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-confirm-modal/b-confirm-modal.js","import {get_widget, each} from 'blocko/helpers'\nimport Widget from 'blocko/widget'\n\n\nclass bPassportType extends Widget {\n\n constructor(node) {\n if (get_widget(node, 'bPassportType') !== null) {\n return;\n }\n\n super(node);\n\n this.dom = {\n type_selector: node,\n linked_nodes: document.querySelectorAll('[data-passport-type]')\n };\n\n this.fields_validators = {\n passport_name: {\n 3: ['empty']\n },\n passport_series: {\n 1: ['empty, numeric, passport_series'],\n },\n passport_num: {\n 1: ['empty, numeric, passport_num'],\n 2: ['empty'],\n 3: ['empty']\n },\n passport_date: {\n 1: ['empty, num_date'],\n 2: ['empty, num_date'],\n 3: ['empty, num_date']\n },\n passport_issued: {\n 1: ['empty'],\n\n },\n passport_department: {\n 1: ['empty'],\n }\n };\n\n this.dom.type_selector.addEventListener('change', event => {\n this.change_passport_type(event, null);\n });\n }\n\n\n change_passport_type(event=null, state=null) {\n let type;\n\n if (event) {\n type = event.target.value;\n } else if (state) {\n type = state;\n }\n\n each(this.dom.linked_nodes, item => {\n if (['INPUT', 'SELECT', 'TEXTAREA'].includes(item.tagName)) {\n\n if (this.fields_validators[item.name]) {\n let field_widget = get_widget(item, 'iFormField');\n\n field_widget.reset();\n field_widget.remove_error_message();\n item.classList.remove('error-field');\n field_widget.set_validators(this.fields_validators[item.name][type]);\n\n if (type == 0) {\n item.setAttribute('disabled', 'disabled');\n } else {\n item.removeAttribute('disabled');\n }\n }\n\n } else {\n let show = !item.getAttribute('data-passport-type').includes(type);\n\n if (show) {\n item.style.display = 'none';\n } else {\n item.style.display = '';\n }\n }\n });\n }\n}\n\n\nmodule.exports = Widget.init('.b-passport-type', bPassportType);\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-passport-type/b-passport-type.js"],"sourceRoot":""}