1!function(){try{var e="u">typeof window?window:"u">typeof global?global:"u">typeof globalThis?globalThis:"u">typeof self?self:{};e._sentryModuleMetadata=e._sentryModuleMetadata||{},e._sentryModuleMetadata[(new e.Error).stack]=function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];if(null!=n)for(var r in n)n.hasOwnProperty(r)&&(e[r]=n[r])}return e}({},e._sentryModuleMetadata[(new e.Error).stack],{"_sentryBundlerPluginAppKey:kombo-app":!0})}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2552,6028],{27504:()=>{},39913:()=>{},46586:()=>{},73325:()=>{},76454:()=>{},83245:()=>{},86091:(e,t,n)=>{"use strict";n.r(t),n.d(t,{NSFWJS:()=>h,load:()=>f});var r=n(12961),o=n(15599),i={0:"Drawing",1:"Hentai",2:"Neutral",3:"Porn",4:"Sexy"},s=function(e,t,n,r){return new(n||(n=Promise))(function(o,i){function s(e){try{l(r.next(e))}catch(e){i(e)}}function a(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?o(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(s,a)}l((r=r.apply(e,t||[])).next())})},a=function(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=a(0),s.throw=a(1),s.return=a(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(a){return function(l){var u=[a,l];if(n)throw TypeError("Generator is already executing.");for(;s&&(s=0,u[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,r=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){i=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){i.label=u[1];break}if(6===u[0]&&i.label<o[1]){i.label=o[1],o=u;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(u);break}o[2]&&i.ops.pop(),i.trys.pop();continue}u=t.call(e,i)}catch(e){u=[6,e],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}},l=function(e,t,n){if(n||2==arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))},u={MobileNetV2:{numOfWeightBundles:1},MobileNetV2Mid:{numOfWeightBundles:2,options:{type:"graph"}},InceptionV3:{numOfWeightBundles:6,options:{size:299}}},c=function(){if("u">typeof globalThis)return globalThis;if("u">typeof global)return global;if("u">typeof window)return window;if("u">typeof self)return self;throw Error("Unable to locate global object")};function f(e){return s(this,arguments,void 0,function(e,t){var o,i;return void 0===t&&(t={size:224}),a(this,function(f){switch(f.label){case 0:if(null==r)throw Error("Cannot find TensorFlow.js. If you are using a <script> tag, please also include @tensorflow/tfjs on the page before using this model.");if(void 0===e)e="MobileNetV2",console.info("%cBy not specifying 'modelOrUrl' parameter, you're using the default model: '".concat(e,"'. See NSFWJS docs for instructions on hosting your own model (https://github.com/infinitered/nsfwjs?tab=readme-ov-file#host-your-own-model)."),"color: lightblue");else{var p;(p=e)&&p in u&&(console.info("%cYou're using the model: '".concat(e,"'. See NSFWJS docs for instructions on hosting your own model (https://github.com/infinitered/nsfwjs?tab=readme-ov-file#host-your-own-model)."),"color: lightblue"),t=null!=(i=u[e].options)?i:t)}return t.size=(null==t?void 0:t.size)||224,[4,function(e){return s(this,void 0,void 0,function(){var t,r;return a(this,function(o){switch(o.label){case 0:if(!(e&&e in u))return[2,e];o.label=1;case 1:return o.trys.push([1,4,,5]),[4,s(void 0,void 0,void 0,function(){var t,r;return a(this,function(o){switch(o.label){case 0:if(t=c().model)return[2,t];if("MobileNetV2"!==e)return[3,2];return[4,n.e(6659).then(n.bind(n,26659))];case 1:case 3:return r=o.sent().modelJson,[3,6];case 2:if("MobileNetV2Mid"!==e)return[3,4];return[4,n.e(5858).then(n.bind(n,35858))];case 4:if("InceptionV3"!==e)return[3,6];return[4,n.e(1902).then(n.bind(n,41902))];case 5:r=o.sent().modelJson,o.label=6;case 6:return[4,r()];case 7:return[2,o.sent().default]}})})];case 2:return t=o.sent(),[4,function(e){return s(this,void 0,void 0,function(){return a(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,s(void 0,void 0,void 0,function(){var t,r,o,i,s,f,d,h,p,y;return a(this,function(a){switch(a.label){case 0:t=u[e].numOfWeightBundles,r=[],o=0,a.label=1;case 1:if(!(o<t))return[3,11];if(s=(i="group1-shard".concat(o+1,"of").concat(t)).replace(/-/g,"_"),!(f=c()[s]))return[3,2];return r.push(((p={})[i]=f,p)),[3,10];case 2:if(d=void 0,"MobileNetV2"!==e)return[3,4];
1return[4,n.e(6659).then(n.bind(n,26659))];case 3:case 5:return d=a.sent().weightBundles,[3,8];case 4:if("MobileNetV2Mid"!==e)return[3,6];return[4,n.e(5858).then(n.bind(n,35858))];case 6:if("InceptionV3"!==e)return[3,8];return[4,n.e(1902).then(n.bind(n,41902))];case 7:d=a.sent().weightBundles,a.label=8;case 8:return[4,d[o]()];case 9:h=a.sent().default,r.push(((y={})[i]=h,y)),a.label=10;case 10:return o++,[3,1];case 11:return[2,Object.assign.apply(Object,l([{}],r,!1))]}})})];case 1:return[2,t.sent()];case 2:throw t.sent(),Error("Could not load the weight data. Make sure you are importing the correct shard files from the models directory. Ref: https://github.com/infinitered/nsfwjs?tab=readme-ov-file#browserify");case 3:return[2]}})})}(e)];case 3:return r=o.sent(),[2,new d(t,r)];case 4:throw o.sent(),Error("Could not load the model. Make sure you are importing the model.min.js bundle. Ref: https://github.com/infinitered/nsfwjs?tab=readme-ov-file#browserify");case 5:return[2]}})})}(e)];case 1:return[4,(o=new h(f.sent(),t)).load()];case 2:return f.sent(),[2,o]}})})}var d=function(){function e(e,t){this.modelJson=e,this.weightDataBase64=t}return e.prototype.arrayBufferFromBase64=function(e){for(var t=o.Buffer.from(e,"base64").toString("binary"),n=t.length,r=new Uint8Array(n),i=0;i<n;i++)r[i]=t.charCodeAt(i);return r.buffer},e.prototype.load=function(){return s(this,void 0,void 0,function(){var e,t,n,r,o,i,s,l,u,c,f,d,h,p;return a(this,function(a){if(e={modelTopology:this.modelJson.modelTopology,format:this.modelJson.format,generatedBy:this.modelJson.generatedBy,convertedBy:this.modelJson.convertedBy},null!=this.modelJson.weightsManifest){for(r=0,t=[],n=[],o=this.modelJson.weightsManifest;r<o.length;r++){for(i=o[r],s=0,l=i.paths;s<l.length;s++){if(u=l[s],!(c=this.weightDataBase64[u]))throw Error("Could not find the weight data. Make sure you are importing the correct weight bundle for the model: ".concat(u,".min.js."));f=this.arrayBufferFromBase64(c),n.push(new Uint8Array(f))}t.push.apply(t,i.weights)}for(e.weightSpecs=t,d=new Uint8Array(n.reduce(function(e,t){return e+t.length},0)),h=0,p=0;p<n.length;p++)d.set(n[p],h),h+=n[p].byteLength;e.weightData=d.buffer}return null!=this.modelJson.trainingConfig&&(e.trainingConfig=this.modelJson.trainingConfig),null!=this.modelJson.userDefinedMetadata&&(e.userDefinedMetadata=this.modelJson.userDefinedMetadata),[2,e]})})},e}(),h=function(){function e(e,t){this.intermediateModels={},this.options=t,this.normalizationOffset=r.scalar(255),this.urlOrIOHandler=e,"string"!=typeof e||e.startsWith("indexeddb://")||e.startsWith("localstorage://")||e.endsWith("model.json")?this.urlOrIOHandler=e:this.urlOrIOHandler="".concat(e,"model.json")}return e.prototype.load=function(){return s(this,void 0,void 0,function(){var e,t,n,o,i,s=this;return a(this,function(a){switch(a.label){case 0:if(t=(e=this.options).size,"graph"!==e.type)return[3,2];return n=this,[4,r.loadGraphModel(this.urlOrIOHandler)];case 1:return n.model=a.sent(),[3,4];case 2:return o=this,[4,r.loadLayersModel(this.urlOrIOHandler)];case 3:o.model=a.sent(),this.endpoints=this.model.layers.map(function(e){return e.name}),a.label=4;case 4:return[4,(i=r.tidy(function(){return s.model.predict(r.zeros([1,t,t,3]))})).data()];case 5:return a.sent(),i.dispose(),[2]}})})},e.prototype.infer=function(e,t){var n=this;if(null!=t&&-1===this.endpoints.indexOf(t))throw Error("Unknown endpoint ".concat(t,". Available endpoints: ").concat(this.endpoints,"."));return r.tidy(function(){e instanceof r.Tensor||(e=r.browser.fromPixels(e));var o,i=e.toFloat().div(n.normalizationOffset),s=i,a=n.options.size;(e.shape[0]!==a||e.shape[1]!==a)&&(s=r.image.resizeBilinear(i,[a,a],!0));var l=s.reshape([1,a,a,3]);if(null==t)o=n.model;else{if(n.model.hasOwnProperty("layers")&&null==n.intermediateModels[t]){var u=n.model.layers.find(function(e){return e.name===t});n.intermediateModels[t]=r.model({inputs:n.model.inputs,outputs:u.output})}o=n.intermediateModels[t]}return o.predict(l)})},e.prototype.classify=function(e){return s(this,arguments,void 0,function(e,t){var n,r;return void 0===t&&(t=5),a(this,function(o){switch(o.label){case 0:return[4,function(e,t){return s(this,void 0,void 0,function(){var n,r,o,s,l,u;return a(this,function(a){switch(a.label){case 0:return[4,e.data()];case 1:for(n=a.sent(),r=[],o=0;o<n.length;o++)r.push({value:n[o],index:o});for(r.sort(function(e,t){return t.value-e.value}),s=new Float32Array(t),l=new Int32Array(t),o=0;o<t;o++)s[o]=r[o].value,l[o]=r[o].index;for(o=0,u=[];o<l.length;o++)u.push({className:i[l[o]],probability:s[o]});return[2,u]}})})}(n=this.infer(e),t)];case 1:return r=o.sent(),n.dispose(),[2,r]}})})},e}()}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.