-'use strict';
-
-var _ = require('lodash');
-var VoiceMusicOnHold = require('../../models').VoiceMusicOnHold;
-var fs = require('fs');
-var remove = require('remove');
-var Upload = require('../../models').Upload;
-var fse = require('fs-extra');
-var path = require('path');
-var config = require('../../config/environment');
-var sequelize = require('../../models').sequelize;
-var util = require('util');
-var base64 = require('file-base64');
-
-// Get list of voice_musiconholds
-exports.index = function(req, res) {
-
- var attributes = ['name', 'directory', 'sort', 'description'];
- var per_page = req.query.per_page ? parseInt(req.query.per_page, 10) : 100;
- var page = req.query.page ? parseInt(req.query.page, 10) : 0;
-
- var query = {
- where: {},
- limit: per_page,
- offset: page * per_page
- };
-
- _.forIn(req.query, function(value, key) {
- switch (key) {
- case 'per_page':
- case 'page':
- break;
- case 'sort_by':
- query.order = util.format('%s %s', req.query.sort_by, req.query.sort_order || 'ASC') || null;
- break;
- case 'sort_order':
- break;
- case '$':
- query.where.$or = [];
- attributes.forEach(function(attribute) {
- var tmp = {};
- tmp[attribute] = {
- $like: '%' + value + '%'
- };
-
- query.where.$or.push(tmp);
- });
- break;
- default:
- query.where[key] = {
- $like: {}
- };
- query.where[key].$like = '%' + value + '%';
- }
- });
-
-
- VoiceMusicOnHold
- .findAndCountAll(query)
- .then(function(result) {
- var total_pages = Math.ceil(result.count / per_page);
- var next_page = total_pages > (query.offset + 1) ? util.format('%s://%s%s?page=%d', req.protocol, req.headers.host, req.baseUrl, page + 1) : null;
- var previous_page = page > 0 ? util.format('%s://%s%s?page=%d', req.protocol, req.headers.host, req.baseUrl, page - 1) : null;
-
- res.status(200).send({
- count: result.count,
- rows: result.rows,
- next_page: next_page,
- previous_page: previous_page,
- total_pages: total_pages
- });
-
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single voice_musiconhold
-exports.show = function(req, res) {
- VoiceMusicOnHold
- .findById(req.params.id)
- .then(function(voice_musiconhold) {
- if (!voice_musiconhold) {
- return res.sendStatus(404);
- }
- return res.send(voice_musiconhold);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Add files to moh class
-exports.addFiles = function(req, res) {
- VoiceMusicOnHold
- .findById(req.params.id)
- .then(function(voice_musiconhold) {
- if (!voice_musiconhold) {
- return res.sendStatus(404);
- }
- Upload
- .findAll({
- where: {
- id: req.body.sounds
- }
- })
- .then(function(soundFiles) {
- var origin = path.join(config.root, 'server/files/sounds/converted');
- var dest;
- soundFiles.forEach(function(elem) {
- dest = path.join(voice_musiconhold.directory, elem.display_name + '.wav');
- fse.copySync(path.join(origin, elem.save_name + '.wav'), dest);
- });
- fs.chmodSync(dest, parseInt('0777', 8));
- res.sendStatus(200);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.showAudioFiles = function(req, res) {
- var fileObject = {};
- VoiceMusicOnHold
- .findById(req.params.id)
- .then(function(voice_musiconhold) {
- if (!voice_musiconhold) {
- return res.sendStatus(404);
- }
- fileObject.path = voice_musiconhold.directory;
- fs.readdir(voice_musiconhold.directory, function(err, files) {
- if (!err) {
- fileObject.files = files;
- return res.send(fileObject);
- } else {
- throw err;
- }
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.deleteAudioFiles = function(req, res) {
- VoiceMusicOnHold
- .findById(req.params.id)
- .then(function(voice_musiconhold) {
- if (!voice_musiconhold) {
- return res.sendStatus(404);
- }
- var deletePath = voice_musiconhold.directory + '/' + req.query.filename;
- fs.unlink(deletePath, function(err) {
- if (err) {
- return handleError(res, err);
- } else {
- return res.sendStatus(204);
- }
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Validate the existence of a route
-exports.mohValidation = function(req, res) {
- console.log(req.body);
- VoiceMusicOnHold
- .findAll({
- where: {
- name: req.body.name,
- }
- })
- .then(function(voice_mohs) {
- if (!voice_mohs) {
- return res.sendStatus(404);
- }
- return res.send(voice_mohs);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new voice_musiconhold in the DB.
-exports.create = function(req, res) {
- VoiceMusicOnHold
- .findAll({
- where: {
- name: req.body.name
- }
- })
- .then(function(existingMohs) {
- console.log(existingMohs);
- console.log('Finding app row.....');
- if (!existingMohs) {
- console.log('error1');
- return res.sendStatus(404);
- }
- if (existingMohs.length > 0) {
- console.log('error2');
- return res.status(500).send({
- message: 'MESSAGE_EXIST_MOH'
- });
- }
- return sequelize.transaction().then(function(t) {
- req.body.directory = path.join(config.root, 'server/files/moh', req.body.name);
- return VoiceMusicOnHold
- .create(req.body, {
- transaction: t
- })
- .then(function(voice_musiconhold) {
- fs.mkdir(voice_musiconhold.directory, parseInt('0777', 8), function(err) {
- if (err) {
- console.log('file error');
- t.rollback();
- return res.status(500).send({
- message: 'MESSAGE_FILE_CREATION_ERROR'
- });
- }
- t.commit();
- console.log('file created');
- return res.status(201).send(voice_musiconhold);
- });
- })
- .catch(function(err) {
- t.rollback();
- });
- })
- })
- .catch(function(err) {
- console.log('thaterror');
- return handleError(res, err);
- });
-};
-
-// Updates an existing voice_musiconhold in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- VoiceMusicOnHold
- .find({
- where: {
- id: req.params.id
- }
- })
- .then(function(voice_musiconhold) {
- if (!voice_musiconhold) {
- return res.sendStatus(404);
- }
- var updated = _.merge(voice_musiconhold, req.body);
- updated.save()
- .then(function() {
- return res.status(200).send(voice_musiconhold);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a voice_musiconhold from the DB.
-exports.destroy = function(req, res) {
- VoiceMusicOnHold
- .findById(req.params.id)
- .then(function(voice_musiconhold) {
- if (!voice_musiconhold) {
- return res.sendStatus(404);
- }
- return sequelize.transaction(function(t) {
- return voice_musiconhold.destroy({
- transaction: t
- })
- .then(function() {
- remove(voice_musiconhold.directory, function(err) {
- if (err) {
- console.log(err);
- }
- return res.sendStatus(204);
- });
- })
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes multiple voice_musiconholds from the DB.
-exports.bulkDestroy = function(req, res) {
- VoiceMusicOnHold
- .findAll({
- where: {
- id: req.query.id
- }
- })
- .then(function(voice_musiconholds) {
- if (!voice_musiconholds) {
- return res.sendStatus(404);
- }
- return sequelize.transaction(function(t) {
- voice_musiconholds.forEach(function(element) {
- return element.destroy({
- transaction: t
- })
- .then(function() {
- remove(element.directory, function(err) {
- if (err) {
- console.log(err);
- throw err
- }
- });
- })
- })
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// stream a moh file
-exports.stream = function(req, res) {
- var filepath = decodeURI(req.query.path);
- base64.encode(filepath, function(err, base64String) {
- if (err) {
- return handleError(res, err);
- } else {
- return res.status(200).send(base64String);
- }
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xb9e9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x66\x73","\x6C\x6F\x64\x61\x73\x68","\x70\x61\x74\x68","\x75\x74\x69\x6C","\x66\x73\x2D\x65\x78\x74\x72\x61","\x72\x65\x6D\x6F\x76\x65","\x66\x69\x6C\x65\x2D\x62\x61\x73\x65\x36\x34","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x53\x6F\x75\x6E\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x53\x65\x74\x74\x69\x6E\x67\x73","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x56\x6F\x69\x63\x65\x4D\x75\x73\x69\x63\x4F\x6E\x48\x6F\x6C\x64","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x64\x64\x46\x69\x6C\x65\x73","\x64\x69\x72\x65\x63\x74\x6F\x72\x79","\x64\x69\x73\x70\x6C\x61\x79\x5F\x6E\x61\x6D\x65","\x2E\x77\x61\x76","\x6A\x6F\x69\x6E","\x73\x6F\x75\x6E\x64\x50\x61\x74\x68","\x2F\x76\x61\x72\x2F\x6F\x70\x74\x2F\x6D\x6F\x74\x69\x6F\x6E\x2F\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x73\x6F\x75\x6E\x64\x73\x2F\x63\x6F\x6E\x76\x65\x72\x74\x65\x64","\x73\x61\x76\x65\x5F\x6E\x61\x6D\x65","\x63\x6F\x70\x79\x53\x79\x6E\x63","\x66\x6F\x72\x45\x61\x63\x68","\x30\x37\x37\x37","\x63\x68\x6D\x6F\x64\x53\x79\x6E\x63","\x73\x6F\x75\x6E\x64\x73","\x62\x6F\x64\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77\x41\x75\x64\x69\x6F\x46\x69\x6C\x65\x73","\x66\x69\x6C\x65\x73","\x72\x65\x61\x64\x64\x69\x72","\x64\x65\x6C\x65\x74\x65\x41\x75\x64\x69\x6F\x46\x69\x6C\x65\x73","\x2F","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x75\x6E\x6C\x69\x6E\x6B","\x6D\x6F\x68\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x6C\x6F\x67","\x6E\x61\x6D\x65","\x63\x72\x65\x61\x74\x65","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x6D\x6F\x68","\x72\x6F\x6C\x6C\x62\x61\x63\x6B","\x66\x69\x6C\x65\x20\x65\x72\x72\x6F\x72","\x4D\x45\x53\x53\x41\x47\x45\x5F\x46\x49\x4C\x45\x5F\x43\x52\x45\x41\x54\x49\x4F\x4E\x5F\x45\x52\x52\x4F\x52","\x63\x6F\x6D\x6D\x69\x74","\x66\x69\x6C\x65\x20\x63\x72\x65\x61\x74\x65\x64","\x6D\x6B\x64\x69\x72","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x61\x6C\x6C","\x70\x75\x73\x68","\x69\x64\x73","\x73\x74\x72\x65\x61\x6D","\x65\x6E\x63\x6F\x64\x65"];_0xb9e9[0];var fs=require(_0xb9e9[1]);var _=require(_0xb9e9[2]);var path=require(_0xb9e9[3]);var util=require(_0xb9e9[4]);var fse=require(_0xb9e9[5]);var remove=require(_0xb9e9[6]);var base64=require(_0xb9e9[7]);var config=require(_0xb9e9[8]);var Util=require(_0xb9e9[9]);var Sound=require(_0xb9e9[11])[_0xb9e9[10]];var Settings=require(_0xb9e9[11])[_0xb9e9[12]];var sequelize=require(_0xb9e9[11])[_0xb9e9[13]];var VoiceMusicOnHold=require(_0xb9e9[11])[_0xb9e9[14]];exports[_0xb9e9[15]]=function(_0x7d06xe,_0x7d06xf){return VoiceMusicOnHold[_0xb9e9[22]](Util[_0xb9e9[21]](_0x7d06xe[_0xb9e9[20]]))[_0xb9e9[19]](function(_0x7d06x11){_0x7d06xf[_0xb9e9[18]](200)[_0xb9e9[17]](_0x7d06x11)})[_0xb9e9[16]](function(_0x7d06x10){return handleError(_0x7d06xf,_0x7d06x10)})};exports[_0xb9e9[23]]=function(_0x7d06xe,_0x7d06xf){return VoiceMusicOnHold[_0xb9e9[27]](_0x7d06xe[_0xb9e9[26]][_0xb9e9[25]])[_0xb9e9[19]](function(_0x7d06x12){if(!_0x7d06x12){return _0x7d06xf[_0xb9e9[24]](404)};return _0x7d06xf[_0xb9e9[17]](_0x7d06x12)})[_0xb9e9[16]](function(_0x7d06x10){return handleError(_0x7d06xf,_0x7d06x10)})};exports[_0xb9e9[28]]=function(_0x7d06xe,_0x7d06xf){var _0x7d06x13,_0x7d06x14;return VoiceMusicOnHold[_0xb9e9[27]](_0x7d06xe[_0xb9e9[26]][_0xb9e9[25]])[_0xb9e9[19]](function(_0x7d06x12){if(!_0x7d06x12){return _0x7d06xf[_0xb9e9[24]](404)};_0x7d06x13=_0x7d06x12;return Sound[_0xb9e9[42]]({where:{id:_0x7d06xe[_0xb9e9[41]][_0xb9e9[40]]}})})[_0xb9e9[19]](function(_0x7d06x18){_0x7d06x14=_0x7d06x18;return Settings[_0xb9e9[27]](1)})[_0xb9e9[19]](function(_0x7d06x15){var _0x7d06x16;_0x7d06x14[_0xb9e9[37]](function(_0x7d06x17){_0x7d06x16=path[_0xb9e9[32]](_0x7d06x13[_0xb9e9[29]],_0x7d06x17[_0xb9e9[30]]+_0xb9e9[31]);fse[_0xb9e9[36]](path[_0xb9e9[32]](_0x7d06x15[_0xb9e9[33]]||_0xb9e9[34],_0x7d06x17[_0xb9e9[35]]+_0xb9e9[31]),_0x7d06x16)});fs[_0xb9e9[39]](_0x7d06x16,parseInt(_0xb9e9[38],8));_0x7d06xf[_0xb9e9[24]](200)})[_0xb9e9[16]](function(_0x7d06x10){return handleError(_0x7d06xf,_0x7d06x10)})};exports[_0xb9e9[43]]=function(_0x7d06xe,_0x7d06xf){var _0x7d06x19={};VoiceMusicOnHold[_0xb9e9[27]](_0x7d06xe[_0xb9e9[26]][_0xb9e9[25]])[_0xb9e9[19]](function(_0x7d06x12){if(!_0x7d06x12){return _0x7d06xf[_0xb9e9[24]](404)};_0x7d06x19[_0xb9e9[3]]=_0x7d06x12[_0xb9e9[29]];fs[_0xb9e9[45]](_0x7d06x12[_0xb9e9[29]],function(_0x7d06x10,_0x7d06x1a){if(!_0x7d06x10){_0x7d06x19[_0xb9e9[44]]=_0x7d06x1a;return _0x7d06xf[_0xb9e9[17]](_0x7d06x19)}else {throw _0x7d06x10}})})[_0xb9e9[16]](function(_0x7d06x10){return handleError(_0x7d06xf,_0x7d06x10)})};exports[_0xb9e9[46]]=function(_0x7d06xe,_0x7d06xf){return VoiceMusicOnHold[_0xb9e9[27]](_0x7d06xe[_0xb9e9[26]][_0xb9e9[25]])[_0xb9e9[19]](function(_0x7d06x12){if(!_0x7d06x12){return _0x7d06xf[_0xb9e9[24]](404)};var _0x7d06x1b=_0x7d06x12[_0xb9e9[29]]+_0xb9e9[47]+_0x7d06xe[_0xb9e9[20]][_0xb9e9[48]];fs[_0xb9e9[49]](_0x7d06x1b,function(_0x7d06x10){if(_0x7d06x10){return handleError(_0x7d06xf,_0x7d06x10)}else {return _0x7d06xf[_0xb9e9[24]](204)}})})[_0xb9e9[16]](function(_0x7d06x10){return handleError(_0x7d06xf,_0x7d06x10)})};exports[_0xb9e9[50]]=function(_0x7d06xe,_0x7d06xf){console[_0xb9e9[51]](_0x7d06xe[_0xb9e9[41]]);return VoiceMusicOnHold[_0xb9e9[42]]({where:{name:_0x7d06xe[_0xb9e9[41]][_0xb9e9[52]]}})[_0xb9e9[19]](function(_0x7d06x1c){if(!_0x7d06x1c){return _0x7d06xf[_0xb9e9[24]](404)};return _0x7d06xf[_0xb9e9[17]](_0x7d06x1c)})[_0xb9e9[16]](function(_0x7d06x10){return handleError(_0x7d06xf,_0x7d06x10)})};exports[_0xb9e9[53]]=function(_0x7d06xe,_0x7d06xf){return sequelize[_0xb9e9[62]]()[_0xb9e9[19]](function(_0x7d06x1d){_0x7d06xe[_0xb9e9[41]][_0xb9e9[29]]=path[_0xb9e9[32]](config[_0xb9e9[54]],_0xb9e9[55],_0x7d06xe[_0xb9e9[41]][_0xb9e9[52]]);return VoiceMusicOnHold[_0xb9e9[53]](_0x7d06xe[_0xb9e9[41]],{transaction:_0x7d06x1d})[_0xb9e9[19]](function(_0x7d06x12){fs[_0xb9e9[61]](_0x7d06x12[_0xb9e9[29]],parseInt(_0xb9e9[38],8),function(_0x7d06x10){if(_0x7d06x10){console[_0xb9e9[51]](_0xb9e9[57]);_0x7d06x1d[_0xb9e9[56]]();return _0x7d06xf[_0xb9e9[18]](500)[_0xb9e9[17]]({message:_0xb9e9[58]})};_0x7d06x1d[_0xb9e9[59]]();console[_0xb9e9[51]](_0xb9e9[60]);return _0x7d06xf[_0xb9e9[18]](201)[_0xb9e9[17]](_0x7d06x12)})})[_0xb9e9[16]](function(_0x7d06x10){_0x7d06x1d[_0xb9e9[56]]()})})};exports[_0xb9e9[63]]=function(_0x7d06xe,_0x7d06xf){if(_0x7d06xe[_0xb9e9[41]][_0xb9e9[25]]){delete _0x7d06xe[_0xb9e9[41]][_0xb9e9[25]]};return VoiceMusicOnHold[_0xb9e9[27]](_0x7d06xe[_0xb9e9[26]][_0xb9e9[25]])[_0xb9e9[19]](function(_0x7d06x12){if(!_0x7d06x12){return _0x7d06xf[_0xb9e9[24]](404)};var _0x7d06x1e=_[_0xb9e9[64]](_0x7d06x12,_0x7d06xe[_0xb9e9[41]]);return _0x7d06x1e[_0xb9e9[65]]()})[_0xb9e9[19]](function(_0x7d06x12){return _0x7d06xf[_0xb9e9[18]](200)[_0xb9e9[17]](_0x7d06x12)})[_0xb9e9[16]](function(_0x7d06x10){return handleError(_0x7d06xf,_0x7d06x10)})};exports[_0xb9e9[66]]=function(_0x7d06xe,_0x7d06xf){var _0x7d06x1f;return sequelize[_0xb9e9[62]](function(_0x7d06x1d){return VoiceMusicOnHold[_0xb9e9[27]](_0x7d06xe[_0xb9e9[26]][_0xb9e9[25]])[_0xb9e9[19]](function(_0x7d06x12){if(!_0x7d06x12){return _0x7d06xf[_0xb9e9[24]](404)};_0x7d06x1f=_0x7d06x12;return _0x7d06x12[_0xb9e9[66]]({transaction:_0x7d06x1d})})[_0xb9e9[19]](function(){remove(_0x7d06x1f[_0xb9e9[29]],function(_0x7d06x10){if(_0x7d06x10){console[_0xb9e9[51]](_0x7d06x10)};return _0x7d06xf[_0xb9e9[24]](204)})})})[_0xb9e9[16]](function(_0x7d06x10){return handleError(_0x7d06xf,_0x7d06x10)})};exports[_0xb9e9[67]]=function(_0x7d06xe,_0x7d06xf){var _0x7d06x20;return sequelize[_0xb9e9[62]](function(_0x7d06x1d){return VoiceMusicOnHold[_0xb9e9[42]]({where:{id:_0x7d06xe[_0xb9e9[20]][_0xb9e9[70]]}})[_0xb9e9[19]](function(_0x7d06x22){if(!_0x7d06x22){return _0x7d06xf[_0xb9e9[24]](404)};_0x7d06x20=_0x7d06x22;var _0x7d06x23=[];_0x7d06x22[_0xb9e9[37]](function(_0x7d06x21){_0x7d06x23[_0xb9e9[69]](_0x7d06x21[_0xb9e9[66]]({transaction:_0x7d06x1d}))});return _0x7d06x23})[_0xb9e9[68]]()[_0xb9e9[19]](function(){_0x7d06x20[_0xb9e9[37]](function(_0x7d06x21){remove(_0x7d06x21[_0xb9e9[29]],function(_0x7d06x10){if(_0x7d06x10){console[_0xb9e9[51]](_0x7d06x10);throw _0x7d06x10}})})})})[_0xb9e9[19]](function(){return _0x7d06xf[_0xb9e9[24]](204)})[_0xb9e9[16]](function(_0x7d06x10){return handleError(_0x7d06xf,_0x7d06x10)})};exports[_0xb9e9[71]]=function(_0x7d06xe,_0x7d06xf){var _0x7d06x24=decodeURI(_0x7d06xe[_0xb9e9[20]][_0xb9e9[3]]);base64[_0xb9e9[72]](_0x7d06x24,function(_0x7d06x10,_0x7d06x25){if(_0x7d06x10){return handleError(_0x7d06xf,_0x7d06x10)}else {return _0x7d06xf[_0xb9e9[18]](200)[_0xb9e9[17]](_0x7d06x25)}})};function handleError(_0x7d06xf,_0x7d06x10){console[_0xb9e9[51]](_0x7d06x10);return _0x7d06xf[_0xb9e9[18]](500)[_0xb9e9[17]](_0x7d06x10)}
\ No newline at end of file