@progress/kendo-react-grid
Version:
React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package
3 lines (2 loc) • 16.2 kB
JavaScript
;const t=require("./utils.js");function f(p,u){const e=u.jscodeshift,i=e(p.source),d=p.path.endsWith(".ts")||p.path.endsWith(".tsx");let l=!1;const E=new Set;i.find(e.Identifier).forEach(s=>{E.add(s.node.name)});const o=t.generateUniqueName("handleDetailExpandChange",E),m=t.findImportedName(e,i,"Grid","@progress/kendo-react-grid")||"Grid";return i.find(e.JSXElement,{openingElement:{name:{name:m}}}).forEach(s=>{const n=s.node.openingElement.attributes;if(!t.hasJSXAttribute(n,"detail"))return;const x=n?.find(a=>a.type==="JSXAttribute"&&a.name.name==="onExpandChange"),c=x?.value?e(x.value).toSource():"No value provided";t.removeAttribute(n,"onExpandChange"),l=!0;const{isClassComponent:h,isFunctionalComponent:g,parentNode:r}=t.findParentComponent(e,s);if(h){if(t.addStateDeclaration(e,r,"detailExpand",e.objectExpression([])),t.hasJSXAttribute(n,"detailExpand")||t.addStateAttribute(e,n,"detailExpand","this.state.detailExpand"),!t.hasJSXAttribute(n,"onDetailExpandChange")){t.addEventAttribute(e,n,"onDetailExpandChange",`this.${o}`);const a=t.createClassMethod(e,o,[`event${d?": GridDetailExpandChangeEvent":""}`],[e.expressionStatement(e.callExpression(e.memberExpression(e.thisExpression(),e.identifier("setState")),[e.objectExpression([e.property("init",e.identifier("detailExpand"),e.memberExpression(e.identifier("event"),e.identifier("detailExpand")))])]))]);t.addCommentToMethod(e,e(a),`Original onExpandChange value: ${c}`,"class"),t.addMethodToComponent(e,r,a,!0)}}else if(g&&(t.addUseStateDeclaration(e,r,"detailExpand","setDetailExpand",e.objectExpression([]),d,"DetailExpandDescriptor"),t.hasJSXAttribute(n,"detailExpand")||t.addStateAttribute(e,n,"detailExpand","detailExpand"),!t.hasJSXAttribute(n,"onDetailExpandChange"))){t.addEventAttribute(e,n,"onDetailExpandChange",`${o}`);const a=t.createArrowFunction(e,`${o}`,[`(event${d?": GridDetailExpandChangeEvent":""})`],[e.expressionStatement(e.callExpression(e.identifier("setDetailExpand"),[e.memberExpression(e.identifier("event"),e.identifier("detailExpand"))]))]);t.addCommentToMethod(e,e(a),`Original onExpandChange value: ${c}`,"function"),t.addMethodToComponent(e,r,a,!1)}}),l&&d&&(t.ensureImportExists(e,i,"GridDetailExpandChangeEvent","@progress/kendo-react-grid"),t.ensureImportExists(e,i,"DetailExpandDescriptor","@progress/kendo-react-data-tools")),i.toSource()}module.exports=f;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLWV4cGFuZC1zdGF0ZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9jb2RlbW9kcy92MTEvZGV0YWlsLWV4cGFuZC1zdGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUEksIEZpbGVJbmZvLCBKU0NvZGVzaGlmdCwgSlNYQXR0cmlidXRlLCBKU1hTcHJlYWRBdHRyaWJ1dGUgfSBmcm9tICdqc2NvZGVzaGlmdCc7XG5pbXBvcnQge1xuICAgIGFkZE1ldGhvZFRvQ29tcG9uZW50LFxuICAgIHJlbW92ZUF0dHJpYnV0ZSxcbiAgICBmaW5kUGFyZW50Q29tcG9uZW50LFxuICAgIGdlbmVyYXRlVW5pcXVlTmFtZSxcbiAgICBlbnN1cmVJbXBvcnRFeGlzdHMsXG4gICAgYWRkRXZlbnRBdHRyaWJ1dGUsXG4gICAgYWRkU3RhdGVBdHRyaWJ1dGUsXG4gICAgYWRkU3RhdGVEZWNsYXJhdGlvbixcbiAgICBhZGRVc2VTdGF0ZURlY2xhcmF0aW9uLFxuICAgIGZpbmRJbXBvcnRlZE5hbWUsXG4gICAgY3JlYXRlQ2xhc3NNZXRob2QsXG4gICAgY3JlYXRlQXJyb3dGdW5jdGlvbixcbiAgICBoYXNKU1hBdHRyaWJ1dGUsXG4gICAgYWRkQ29tbWVudFRvTWV0aG9kXG59IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoZmlsZUluZm86IEZpbGVJbmZvLCBhcGk6IEFQSSkge1xuICAgIGNvbnN0IGo6IEpTQ29kZXNoaWZ0ID0gYXBpLmpzY29kZXNoaWZ0O1xuICAgIGNvbnN0IHJvb3QgPSBqKGZpbGVJbmZvLnNvdXJjZSk7XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgZmlsZSBpcyBUeXBlU2NyaXB0IG9yIFRTWFxuICAgIGNvbnN0IGlzVHlwZVNjcmlwdCA9IGZpbGVJbmZvLnBhdGguZW5kc1dpdGgoJy50cycpIHx8IGZpbGVJbmZvLnBhdGguZW5kc1dpdGgoJy50c3gnKTtcblxuICAgIGxldCBhZGRJbXBvcnRzID0gZmFsc2U7XG4gICAgY29uc3QgZXhpc3RpbmdOYW1lcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIHJvb3QuZmluZChqLklkZW50aWZpZXIpLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgZXhpc3RpbmdOYW1lcy5hZGQocGF0aC5ub2RlLm5hbWUpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgYmFzZU5hbWUgPSAnaGFuZGxlRGV0YWlsRXhwYW5kQ2hhbmdlJztcbiAgICBjb25zdCB1bmlxdWVOYW1lID0gZ2VuZXJhdGVVbmlxdWVOYW1lKGJhc2VOYW1lLCBleGlzdGluZ05hbWVzKTtcblxuICAgIC8vIER5bmFtaWNhbGx5IHJlc29sdmUgdGhlIGltcG9ydGVkIG5hbWUgZm9yIGBHcmlkYFxuICAgIGNvbnN0IGdyaWROYW1lID0gZmluZEltcG9ydGVkTmFtZShqLCByb290LCAnR3JpZCcsICdAcHJvZ3Jlc3Mva2VuZG8tcmVhY3QtZ3JpZCcpIHx8ICdHcmlkJztcblxuICAgIC8vIEZpbmQgYWxsIEpTWEVsZW1lbnRzIHdpdGggdGhlIG5hbWUgb2YgdGhlIHJlc29sdmVkIGBHcmlkYCBjb21wb25lbnRcbiAgICBjb25zdCBncmlkRWxlbWVudHMgPSByb290LmZpbmQoai5KU1hFbGVtZW50LCB7IG9wZW5pbmdFbGVtZW50OiB7IG5hbWU6IHsgbmFtZTogZ3JpZE5hbWUgfSB9IH0pO1xuXG4gICAgZ3JpZEVsZW1lbnRzLmZvckVhY2goKGdyaWRQYXRoKSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBncmlkUGF0aC5ub2RlLm9wZW5pbmdFbGVtZW50LmF0dHJpYnV0ZXM7XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGBkZXRhaWxgIGF0dHJpYnV0ZSBleGlzdHNcbiAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ2RldGFpbCcpKSB7XG4gICAgICAgICAgICByZXR1cm47IC8vIFNraXAgdGhpcyBHcmlkIGlmIGBkZXRhaWxgIGlzIG5vdCBwcmVzZW50XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaW5kIHRoZSBgb25FeHBhbmRDaGFuZ2VgIGF0dHJpYnV0ZVxuICAgICAgICBjb25zdCBvbkV4cGFuZENoYW5nZUF0dHJpYnV0ZSA9IGF0dHJpYnV0ZXM/LmZpbmQoXG4gICAgICAgICAgICAoYXR0cikgPT4gYXR0ci50eXBlID09PSAnSlNYQXR0cmlidXRlJyAmJiBhdHRyLm5hbWUubmFtZSA9PT0gJ29uRXhwYW5kQ2hhbmdlJ1xuICAgICAgICApIGFzIEpTWEF0dHJpYnV0ZTtcblxuICAgICAgICAvLyBDb3B5IHRoZSB2YWx1ZSBvZiBgb25FeHBhbmRDaGFuZ2VgIGFzIGEgY29tbWVudFxuICAgICAgICBjb25zdCBvbkV4cGFuZENoYW5nZVZhbHVlID0gb25FeHBhbmRDaGFuZ2VBdHRyaWJ1dGU/LnZhbHVlXG4gICAgICAgICAgICA/IGoob25FeHBhbmRDaGFuZ2VBdHRyaWJ1dGUudmFsdWUpLnRvU291cmNlKClcbiAgICAgICAgICAgIDogJ05vIHZhbHVlIHByb3ZpZGVkJztcblxuICAgICAgICAvLyBSZW1vdmUgdGhlIGBvbkV4cGFuZENoYW5nZWAgYXR0cmlidXRlXG4gICAgICAgIHJlbW92ZUF0dHJpYnV0ZShhdHRyaWJ1dGVzIGFzIChKU1hBdHRyaWJ1dGUgfCBKU1hTcHJlYWRBdHRyaWJ1dGUpW10sICdvbkV4cGFuZENoYW5nZScpO1xuICAgICAgICBhZGRJbXBvcnRzID0gdHJ1ZTtcblxuICAgICAgICAvLyBEZXRlcm1pbmUgaWYgdGhlIHBhcmVudCBjb21wb25lbnQgaXMgYSBjbGFzcyBvciBmdW5jdGlvbmFsIGNvbXBvbmVudFxuICAgICAgICBjb25zdCB7IGlzQ2xhc3NDb21wb25lbnQsIGlzRnVuY3Rpb25hbENvbXBvbmVudCwgcGFyZW50Tm9kZSB9ID0gZmluZFBhcmVudENvbXBvbmVudChqLCBncmlkUGF0aCk7XG5cbiAgICAgICAgaWYgKGlzQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgICAgICAgIC8vIEFkZCBgZGV0YWlsRXhwYW5kYCB0byB0aGUgY2xhc3MgY29tcG9uZW50J3Mgc3RhdGVcbiAgICAgICAgICAgIGFkZFN0YXRlRGVjbGFyYXRpb24oaiwgcGFyZW50Tm9kZSwgJ2RldGFpbEV4cGFuZCcsIGoub2JqZWN0RXhwcmVzc2lvbihbXSkpO1xuXG4gICAgICAgICAgICAvLyBBZGQgYGRldGFpbEV4cGFuZGAgYW5kIGBvbkRldGFpbEV4cGFuZENoYW5nZWAgYXR0cmlidXRlc1xuICAgICAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ2RldGFpbEV4cGFuZCcpKSB7XG4gICAgICAgICAgICAgICAgYWRkU3RhdGVBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSxcbiAgICAgICAgICAgICAgICAgICAgJ2RldGFpbEV4cGFuZCcsXG4gICAgICAgICAgICAgICAgICAgICd0aGlzLnN0YXRlLmRldGFpbEV4cGFuZCdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWhhc0pTWEF0dHJpYnV0ZShhdHRyaWJ1dGVzLCAnb25EZXRhaWxFeHBhbmRDaGFuZ2UnKSkge1xuICAgICAgICAgICAgICAgIGFkZEV2ZW50QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzIGFzIChKU1hBdHRyaWJ1dGUgfCBKU1hTcHJlYWRBdHRyaWJ1dGUpW10sXG4gICAgICAgICAgICAgICAgICAgICdvbkRldGFpbEV4cGFuZENoYW5nZScsXG4gICAgICAgICAgICAgICAgICAgIGB0aGlzLiR7dW5pcXVlTmFtZX1gXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBhbmQgYWRkIGBoYW5kbGVEZXRhaWxFeHBhbmRDaGFuZ2VgIG1ldGhvZFxuICAgICAgICAgICAgICAgIGNvbnN0IGhhbmRsZURldGFpbEV4cGFuZE1ldGhvZCA9IGNyZWF0ZUNsYXNzTWV0aG9kKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICB1bmlxdWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICBbYGV2ZW50JHtpc1R5cGVTY3JpcHQgPyAnOiBHcmlkRGV0YWlsRXhwYW5kQ2hhbmdlRXZlbnQnIDogJyd9YF0sXG4gICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGouZXhwcmVzc2lvblN0YXRlbWVudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqLmNhbGxFeHByZXNzaW9uKGoubWVtYmVyRXhwcmVzc2lvbihqLnRoaXNFeHByZXNzaW9uKCksIGouaWRlbnRpZmllcignc2V0U3RhdGUnKSksIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5vYmplY3RFeHByZXNzaW9uKFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGoucHJvcGVydHkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luaXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGouaWRlbnRpZmllcignZGV0YWlsRXhwYW5kJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5tZW1iZXJFeHByZXNzaW9uKGouaWRlbnRpZmllcignZXZlbnQnKSwgai5pZGVudGlmaWVyKCdkZXRhaWxFeHBhbmQnKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC8vIEFkZCB0aGUgYG9uRXhwYW5kQ2hhbmdlYCB2YWx1ZSBhcyBhIGNvbW1lbnQgaW4gdGhlIG1ldGhvZFxuICAgICAgICAgICAgICAgIGFkZENvbW1lbnRUb01ldGhvZChcbiAgICAgICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICAgICAgaihoYW5kbGVEZXRhaWxFeHBhbmRNZXRob2QpLFxuICAgICAgICAgICAgICAgICAgICBgT3JpZ2luYWwgb25FeHBhbmRDaGFuZ2UgdmFsdWU6ICR7b25FeHBhbmRDaGFuZ2VWYWx1ZX1gLFxuICAgICAgICAgICAgICAgICAgICAnY2xhc3MnXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGFkZE1ldGhvZFRvQ29tcG9uZW50KGosIHBhcmVudE5vZGUsIGhhbmRsZURldGFpbEV4cGFuZE1ldGhvZCwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoaXNGdW5jdGlvbmFsQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAvLyBBZGQgYFJlYWN0LnVzZVN0YXRlYCBmb3IgYGRldGFpbEV4cGFuZGBcbiAgICAgICAgICAgIGFkZFVzZVN0YXRlRGVjbGFyYXRpb24oXG4gICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICBwYXJlbnROb2RlLFxuICAgICAgICAgICAgICAgICdkZXRhaWxFeHBhbmQnLFxuICAgICAgICAgICAgICAgICdzZXREZXRhaWxFeHBhbmQnLFxuICAgICAgICAgICAgICAgIGoub2JqZWN0RXhwcmVzc2lvbihbXSksXG4gICAgICAgICAgICAgICAgaXNUeXBlU2NyaXB0LFxuICAgICAgICAgICAgICAgICdEZXRhaWxFeHBhbmREZXNjcmlwdG9yJ1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8gQWRkIGBkZXRhaWxFeHBhbmRgIGFuZCBgb25EZXRhaWxFeHBhbmRDaGFuZ2VgIGF0dHJpYnV0ZXNcbiAgICAgICAgICAgIGlmICghaGFzSlNYQXR0cmlidXRlKGF0dHJpYnV0ZXMsICdkZXRhaWxFeHBhbmQnKSkge1xuICAgICAgICAgICAgICAgIGFkZFN0YXRlQXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzIGFzIChKU1hBdHRyaWJ1dGUgfCBKU1hTcHJlYWRBdHRyaWJ1dGUpW10sXG4gICAgICAgICAgICAgICAgICAgICdkZXRhaWxFeHBhbmQnLFxuICAgICAgICAgICAgICAgICAgICAnZGV0YWlsRXhwYW5kJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghaGFzSlNYQXR0cmlidXRlKGF0dHJpYnV0ZXMsICdvbkRldGFpbEV4cGFuZENoYW5nZScpKSB7XG4gICAgICAgICAgICAgICAgYWRkRXZlbnRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSxcbiAgICAgICAgICAgICAgICAgICAgJ29uRGV0YWlsRXhwYW5kQ2hhbmdlJyxcbiAgICAgICAgICAgICAgICAgICAgYCR7dW5pcXVlTmFtZX1gXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBhbmQgYWRkIGBoYW5kbGVEZXRhaWxFeHBhbmRDaGFuZ2VgIGZ1bmN0aW9uXG4gICAgICAgICAgICAgICAgY29uc3QgaGFuZGxlRGV0YWlsRXhwYW5kRnVuY3Rpb24gPSBjcmVhdGVBcnJvd0Z1bmN0aW9uKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICBgJHt1bmlxdWVOYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgIFtgKGV2ZW50JHtpc1R5cGVTY3JpcHQgPyAnOiBHcmlkRGV0YWlsRXhwYW5kQ2hhbmdlRXZlbnQnIDogJyd9KWBdLFxuICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICBqLmV4cHJlc3Npb25TdGF0ZW1lbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgai5jYWxsRXhwcmVzc2lvbihqLmlkZW50aWZpZXIoJ3NldERldGFpbEV4cGFuZCcpLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGoubWVtYmVyRXhwcmVzc2lvbihqLmlkZW50aWZpZXIoJ2V2ZW50JyksIGouaWRlbnRpZmllcignZGV0YWlsRXhwYW5kJykpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAvLyBBZGQgdGhlIGBvbkV4cGFuZENoYW5nZWAgdmFsdWUgYXMgYSBjb21tZW50IGluIHRoZSBmdW5jdGlvblxuICAgICAgICAgICAgICAgIGFkZENvbW1lbnRUb01ldGhvZChcbiAgICAgICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICAgICAgaihoYW5kbGVEZXRhaWxFeHBhbmRGdW5jdGlvbiksXG4gICAgICAgICAgICAgICAgICAgIGBPcmlnaW5hbCBvbkV4cGFuZENoYW5nZSB2YWx1ZTogJHtvbkV4cGFuZENoYW5nZVZhbHVlfWAsXG4gICAgICAgICAgICAgICAgICAgICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgYWRkTWV0aG9kVG9Db21wb25lbnQoaiwgcGFyZW50Tm9kZSwgaGFuZGxlRGV0YWlsRXhwYW5kRnVuY3Rpb24sIGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGFkZEltcG9ydHMgJiYgaXNUeXBlU2NyaXB0KSB7XG4gICAgICAgIC8vIEVuc3VyZSBUeXBlU2NyaXB0IGltcG9ydHNcbiAgICAgICAgZW5zdXJlSW1wb3J0RXhpc3RzKGosIHJvb3QsICdHcmlkRGV0YWlsRXhwYW5kQ2hhbmdlRXZlbnQnLCAnQHByb2dyZXNzL2tlbmRvLXJlYWN0LWdyaWQnKTtcbiAgICAgICAgZW5zdXJlSW1wb3J0RXhpc3RzKGosIHJvb3QsICdEZXRhaWxFeHBhbmREZXNjcmlwdG9yJywgJ0Bwcm9ncmVzcy9rZW5kby1yZWFjdC1kYXRhLXRvb2xzJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvb3QudG9Tb3VyY2UoKTtcbn1cbiJdLCJuYW1lcyI6WyJkZXRhaWxFeHBhbmRTdGF0ZSIsImZpbGVJbmZvIiwiYXBpIiwiaiIsInJvb3QiLCJpc1R5cGVTY3JpcHQiLCJhZGRJbXBvcnRzIiwiZXhpc3RpbmdOYW1lcyIsInBhdGgiLCJ1bmlxdWVOYW1lIiwiZ2VuZXJhdGVVbmlxdWVOYW1lIiwiZ3JpZE5hbWUiLCJmaW5kSW1wb3J0ZWROYW1lIiwiZ3JpZFBhdGgiLCJhdHRyaWJ1dGVzIiwiaGFzSlNYQXR0cmlidXRlIiwib25FeHBhbmRDaGFuZ2VBdHRyaWJ1dGUiLCJhdHRyIiwib25FeHBhbmRDaGFuZ2VWYWx1ZSIsInJlbW92ZUF0dHJpYnV0ZSIsImlzQ2xhc3NDb21wb25lbnQiLCJpc0Z1bmN0aW9uYWxDb21wb25lbnQiLCJwYXJlbnROb2RlIiwiZmluZFBhcmVudENvbXBvbmVudCIsImFkZFN0YXRlRGVjbGFyYXRpb24iLCJhZGRTdGF0ZUF0dHJpYnV0ZSIsImFkZEV2ZW50QXR0cmlidXRlIiwiaGFuZGxlRGV0YWlsRXhwYW5kTWV0aG9kIiwiY3JlYXRlQ2xhc3NNZXRob2QiLCJhZGRDb21tZW50VG9NZXRob2QiLCJhZGRNZXRob2RUb0NvbXBvbmVudCIsImFkZFVzZVN0YXRlRGVjbGFyYXRpb24iLCJoYW5kbGVEZXRhaWxFeHBhbmRGdW5jdGlvbiIsImNyZWF0ZUFycm93RnVuY3Rpb24iLCJlbnN1cmVJbXBvcnRFeGlzdHMiXSwibWFwcGluZ3MiOiIyQ0FrQkEsU0FBQUEsRUFB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