"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const q=require("./_assignMergeValue.js"),j=require("./_cloneBuffer.js"),p=require("./_cloneTypedArray.js"),y=require("./_copyArray.js"),A=require("./_initCloneObject.js"),_=require("./isArguments.js"),g=require("./isArray.js"),M=require("./isArrayLikeObject.js"),V=require("./isBuffer.js"),P=require("./isFunction.js"),m=require("./isObject.js"),C=require("./isPlainObject.js"),S=require("./isTypedArray.js"),b=require("./_safeGet.js"),T=require("./toPlainObject.js");function w(a,d,u,v,O,f,l){var t=b.default(a,u),e=b.default(d,u),o=l.get(e);if(o){q.default(a,u,o);return}var r=f?f(t,e,u+"",a,d,l):void 0,i=r===void 0;if(i){var n=g.default(e),s=!n&&V.default(e),c=!n&&!s&&S.default(e);r=e,n||s||c?g.default(t)?r=t:M.default(t)?r=y.default(t):s?(i=!1,r=j.default(e,!0)):c?(i=!1,r=p.default(e,!0)):r=[]:C.default(e)||_.default(e)?(r=t,_.default(t)?r=T.default(t):(!m.default(t)||P.default(t))&&(r=A.default(e))):i=!1}i&&(l.set(e,r),O(r,e,v,f,l),l.delete(e)),q.default(a,u,r)}exports.default=w;
