callback( { "result":{ "query":":facetid:toc:\"db/conf/asplos/asplos2018.bht\"", "status":{ "@code":"200", "text":"OK" }, "time":{ "@unit":"msecs", "text":"65.98" }, "completions":{ "@total":"1", "@computed":"1", "@sent":"1", "c":{ "@sc":"58", "@dc":"58", "@oc":"58", "@id":"43380510", "text":":facetid:toc:db/conf/asplos/asplos2018.bht" } }, "hits":{ "@total":"58", "@computed":"58", "@sent":"30", "@first":"0", "hit":[{ "@score":"1", "@id":"2520754", "info":{"authors":{"author":[{"@pid":"98/4371-3","text":"Rakesh Kumar 0003"},{"@pid":"78/50","text":"Boris Grot"},{"@pid":"24/1972","text":"Vijay Nagarajan"}]},"title":"Blasting through the Front-End Bottleneck with Shotgun.","venue":"ASPLOS","pages":"30-42","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/0003GN18","doi":"10.1145/3173162.3173178","ee":"https://doi.org/10.1145/3173162.3173178","url":"https://dblp.org/rec/conf/asplos/0003GN18"}, "url":"URL#2520754" }, { "@score":"1", "@id":"2520755", "info":{"authors":{"author":[{"@pid":"21/802-4","text":"Dan Zhang 0004"},{"@pid":"30/100","text":"Xiaoyu Ma"},{"@pid":"04/7066","text":"Michael Thomson"},{"@pid":"06/5295","text":"Derek Chiou"}]},"title":"Minnow: Lightweight Offload Engines for Worklist Management and Worklist-Directed Prefetching.","venue":"ASPLOS","pages":"593-607","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/0004MTC18","doi":"10.1145/3173162.3173197","ee":"https://doi.org/10.1145/3173162.3173197","url":"https://dblp.org/rec/conf/asplos/0004MTC18"}, "url":"URL#2520755" }, { "@score":"1", "@id":"2520756", "info":{"authors":{"author":[{"@pid":"152/5845","text":"Sara Achour"},{"@pid":"r/MartinCRinard","text":"Martin C. Rinard"}]},"title":"Time Dilation and Contraction for Programmable Analog Devices with Jaunt.","venue":"ASPLOS","pages":"229-242","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/AchourR18","doi":"10.1145/3173162.3173179","ee":"https://doi.org/10.1145/3173162.3173179","url":"https://dblp.org/rec/conf/asplos/AchourR18"}, "url":"URL#2520756" }, { "@score":"1", "@id":"2520757", "info":{"authors":{"author":[{"@pid":"181/0549","text":"Sam Ainsworth 0001"},{"@pid":"62/1131","text":"Timothy M. Jones 0001"}]},"title":"An Event-Triggered Programmable Prefetcher for Irregular Workloads.","venue":"ASPLOS","pages":"578-592","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/Ainsworth018","doi":"10.1145/3173162.3173189","ee":"https://doi.org/10.1145/3173162.3173189","url":"https://dblp.org/rec/conf/asplos/Ainsworth018"}, "url":"URL#2520757" }, { "@score":"1", "@id":"2520758", "info":{"authors":{"author":[{"@pid":"89/6370","text":"Jade Alglave"},{"@pid":"49/4972","text":"Luc Maranget"},{"@pid":"12/1073","text":"Paul E. McKenney"},{"@pid":"168/0982","text":"Andrea Parri"},{"@pid":"97/2614","text":"Alan S. Stern"}]},"title":"Frightening Small Children and Disconcerting Grown-ups: Concurrency in the Linux Kernel.","venue":"ASPLOS","pages":"405-418","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/AlglaveMMPS18","doi":"10.1145/3173162.3177156","ee":"https://doi.org/10.1145/3173162.3177156","url":"https://dblp.org/rec/conf/asplos/AlglaveMMPS18"}, "url":"URL#2520758" }, { "@score":"1", "@id":"2520759", "info":{"authors":{"author":[{"@pid":"117/0573","text":"Rachata Ausavarungnirun"},{"@pid":"205/2634","text":"Vance Miller"},{"@pid":"205/2367","text":"Joshua Landgraf"},{"@pid":"94/7357","text":"Saugata Ghose"},{"@pid":"17/9796","text":"Jayneel Gandhi"},{"@pid":"64/11467","text":"Adwait Jog"},{"@pid":"46/991","text":"Christopher J. Rossbach"},{"@pid":"m/OnurMutlu","text":"Onur Mutlu"}]},"title":"MASK: Redesigning the GPU Memory Hierarchy to Support Multi-Application Concurrency.","venue":"ASPLOS","pages":"503-518","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/Ausavarungnirun18","doi":"10.1145/3173162.3173169","ee":"https://doi.org/10.1145/3173162.3173169","url":"https://dblp.org/rec/conf/asplos/Ausavarungnirun18"}, "url":"URL#2520759" }, { "@score":"1", "@id":"2520760", "info":{"authors":{"author":[{"@pid":"136/7953","text":"Maciej Besta"},{"@pid":"78/10701","text":"Syed Minhaj Hassan"},{"@pid":"14/5230","text":"Sudhakar Yalamanchili"},{"@pid":"117/0573","text":"Rachata Ausavarungnirun"},{"@pid":"m/OnurMutlu","text":"Onur Mutlu"},{"@pid":"16/3869","text":"Torsten Hoefler"}]},"title":"Slim NoC: A Low-Diameter On-Chip Network Topology for High Energy Efficiency and Scalability.","venue":"ASPLOS","pages":"43-55","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/BestaHYAMH18","doi":"10.1145/3173162.3177158","ee":"https://doi.org/10.1145/3173162.3177158","url":"https://dblp.org/rec/conf/asplos/BestaHYAMH18"}, "url":"URL#2520760" }, { "@score":"1", "@id":"2520761", "info":{"authors":{"author":[{"@pid":"142/2069","text":"Amirali Boroumand"},{"@pid":"94/7357","text":"Saugata Ghose"},{"@pid":"147/1001","text":"Youngsok Kim"},{"@pid":"117/0573","text":"Rachata Ausavarungnirun"},{"@pid":"73/1243","text":"Eric Shiu"},{"@pid":"133/3905","text":"Rahul Thakur"},{"@pid":"85/5149","text":"Daehyun Kim"},{"@pid":"156/3530","text":"Aki Kuusela"},{"@pid":"55/5574","text":"Allan Knies"},{"@pid":"12/6848","text":"Parthasarathy Ranganathan"},{"@pid":"m/OnurMutlu","text":"Onur Mutlu"}]},"title":"Google Workloads for Consumer Devices: Mitigating Data Movement Bottlenecks.","venue":"ASPLOS","pages":"316-331","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/BoroumandGKASTK18","doi":"10.1145/3173162.3173177","ee":"https://doi.org/10.1145/3173162.3173177","url":"https://dblp.org/rec/conf/asplos/BoroumandGKASTK18"}, "url":"URL#2520761" }, { "@score":"1", "@id":"2520762", "info":{"authors":{"author":[{"@pid":"185/5783","text":"Ruizhe Cai"},{"@pid":"185/5754","text":"Ao Ren"},{"@pid":"83/622-7","text":"Ning Liu 0007"},{"@pid":"175/2489","text":"Caiwen Ding"},{"@pid":"198/9638","text":"Luhao Wang"},{"@pid":"42/5189","text":"Xuehai Qian"},{"@pid":"p/MassoudPedram","text":"Massoud Pedram"},{"@pid":"45/7737","text":"Yanzhi Wang"}]},"title":"VIBNN: Hardware Acceleration of Bayesian Neural Networks.","venue":"ASPLOS","pages":"476-488","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/CaiRLDWQPW18","doi":"10.1145/3173162.3173212","ee":"https://doi.org/10.1145/3173162.3173212","url":"https://dblp.org/rec/conf/asplos/CaiRLDWQPW18"}, "url":"URL#2520762" }, { "@score":"1", "@id":"2520764", "info":{"authors":{"author":{"@pid":"c/FTChong","text":"Frederic T. Chong"}},"title":"Quantum Computing is Getting Real: Architecture, PL, and OS Roles in Closing the Gap between Quantum Algorithms and Machines.","venue":"ASPLOS","pages":"285","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/Chong18","doi":"10.1145/3173162.3177152","ee":"https://doi.org/10.1145/3173162.3177152","url":"https://dblp.org/rec/conf/asplos/Chong18"}, "url":"URL#2520764" }, { "@score":"1", "@id":"2520765", "info":{"authors":{"author":[{"@pid":"151/6209","text":"Alexei Colin"},{"@pid":"187/8226","text":"Emily Ruppel"},{"@pid":"18/6801","text":"Brandon Lucia"}]},"title":"A Reconfigurable Energy Storage Architecture for Energy-harvesting Devices.","venue":"ASPLOS","pages":"767-781","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/ColinRL18","doi":"10.1145/3173162.3173210","ee":"https://doi.org/10.1145/3173162.3173210","url":"https://dblp.org/rec/conf/asplos/ColinRL18"}, "url":"URL#2520765" }, { "@score":"1", "@id":"2520766", "info":{"authors":{"author":[{"@pid":"207/3890","text":"Yuting Dai"},{"@pid":"75/4601-6","text":"Tao Li 0006"},{"@pid":"81/2287","text":"Benyong Liu"},{"@pid":"131/1894","text":"Mingcong Song"},{"@pid":"118/5569-1","text":"Huixiang Chen 0001"}]},"title":"Exploiting Dynamic Thermal Energy Harvesting for Reusing in Smartphone with Mobile Applications.","venue":"ASPLOS","pages":"243-256","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/DaiLLSC18","doi":"10.1145/3173162.3173188","ee":"https://doi.org/10.1145/3173162.3173188","url":"https://dblp.org/rec/conf/asplos/DaiLLSC18"}, "url":"URL#2520766" }, { "@score":"1", "@id":"2520767", "info":{"authors":{"author":[{"@pid":"145/1034","text":"Yaniv David"},{"@pid":"130/9983","text":"Nimrod Partush"},{"@pid":"54/5133","text":"Eran Yahav"}]},"title":"FirmUp: Precise Static Detection of Common Vulnerabilities in Firmware.","venue":"ASPLOS","pages":"392-404","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/DavidPY18","doi":"10.1145/3173162.3177157","ee":"https://doi.org/10.1145/3173162.3177157","url":"https://dblp.org/rec/conf/asplos/DavidPY18"}, "url":"URL#2520767" }, { "@score":"1", "@id":"2520768", "info":{"authors":{"author":[{"@pid":"136/1077","text":"Christian DeLozier"},{"@pid":"180/8191","text":"Ariel Eizenberg"},{"@pid":"18/6801","text":"Brandon Lucia"},{"@pid":"83/3984","text":"Joseph Devietti"}]},"title":"SOFRITAS: Serializable Ordering-Free Regions for Increasing Thread Atomicity Scalably.","venue":"ASPLOS","pages":"286-300","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/DeLozierELD18","doi":"10.1145/3173162.3173192","ee":"https://doi.org/10.1145/3173162.3173192","url":"https://dblp.org/rec/conf/asplos/DeLozierELD18"}, "url":"URL#2520768" }, { "@score":"1", "@id":"2520769", "info":{"authors":{"author":[{"@pid":"208/0344","text":"Enrico Armenio Deiana"},{"@pid":"37/9698","text":"Vincent St-Amour"},{"@pid":"95/2040","text":"Peter A. Dinda"},{"@pid":"h/NikolaosHardavellas","text":"Nikos Hardavellas"},{"@pid":"39/2917","text":"Simone Campanoni"}]},"title":"Unconventional Parallelization of Nondeterministic Applications.","venue":"ASPLOS","pages":"432-447","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/DeianaSDHC18","doi":"10.1145/3173162.3173181","ee":"https://doi.org/10.1145/3173162.3173181","url":"https://dblp.org/rec/conf/asplos/DeianaSDHC18"}, "url":"URL#2520769" }, { "@score":"1", "@id":"2520770", "info":{"authors":{"author":[{"@pid":"127/3085","text":"David Devecsery"},{"@pid":"c/PeterMChen","text":"Peter M. Chen"},{"@pid":"14/85","text":"Jason Flinn"},{"@pid":"27/3820","text":"Satish Narayanasamy"}]},"title":"Optimistic Hybrid Analysis: Accelerating Dynamic Analysis through Predicated Static Analysis.","venue":"ASPLOS","pages":"348-362","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/DevecseryCFN18","doi":"10.1145/3173162.3177153","ee":"https://doi.org/10.1145/3173162.3177153","url":"https://dblp.org/rec/conf/asplos/DevecseryCFN18"}, "url":"URL#2520770" }, { "@score":"1", "@id":"2520771", "info":{"authors":{"author":[{"@pid":"217/1296","text":"Bernard Dickens III"},{"@pid":"84/5664","text":"Haryadi S. Gunawi"},{"@pid":"59/3702","text":"Ariel J. Feldman"},{"@pid":"h/HenryHoffmann","text":"Henry Hoffmann"}]},"title":"StrongBox: Confidentiality, Integrity, and Performance using Stream Ciphers for Full Drive Encryption.","venue":"ASPLOS","pages":"708-721","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/DickensGFH18","doi":"10.1145/3173162.3173183","ee":"https://doi.org/10.1145/3173162.3173183","url":"https://dblp.org/rec/conf/asplos/DickensGFH18"}, "url":"URL#2520771" }, { "@score":"1", "@id":"2520772", "info":{"authors":{"author":[{"@pid":"17/10107","text":"Dmitry Evtyushkin"},{"@pid":"73/887","text":"Ryan Riley"},{"@pid":"86/2654","text":"Nael B. Abu-Ghazaleh"},{"@pid":"p/DmitryVPonomarev","text":"Dmitry Ponomarev 0001"}]},"title":"BranchScope: A New Side-Channel Attack on Directional Branch Predictor.","venue":"ASPLOS","pages":"693-707","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/EvtyushkinRAP18","doi":"10.1145/3173162.3173204","ee":"https://doi.org/10.1145/3173162.3173204","url":"https://dblp.org/rec/conf/asplos/EvtyushkinRAP18"}, "url":"URL#2520772" }, { "@score":"1", "@id":"2520773", "info":{"authors":{"author":[{"@pid":"194/4312","text":"Jordan Fix"},{"@pid":"217/1291","text":"Nayana P. Nagendra"},{"@pid":"185/0244","text":"Sotiris Apostolakis"},{"@pid":"158/4705","text":"Hansen Zhang"},{"@pid":"217/1289","text":"Sophie Qiu"},{"@pid":"19/5025","text":"David I. August"}]},"title":"Hardware Multithreaded Transactions.","venue":"ASPLOS","pages":"15-29","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/FixNAZQA18","doi":"10.1145/3173162.3173172","ee":"https://doi.org/10.1145/3173162.3173172","url":"https://dblp.org/rec/conf/asplos/FixNAZQA18"}, "url":"URL#2520773" }, { "@score":"1", "@id":"2520774", "info":{"authors":{"author":[{"@pid":"177/7185","text":"Daichi Fujiki"},{"@pid":"m/SAMahlke","text":"Scott A. Mahlke"},{"@pid":"41/1231","text":"Reetuparna Das"}]},"title":"In-Memory Data Parallel Processor.","venue":"ASPLOS","pages":"1-14","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/FujikiMD18","doi":"10.1145/3173162.3173171","ee":"https://doi.org/10.1145/3173162.3173171","url":"https://dblp.org/rec/conf/asplos/FujikiMD18"}, "url":"URL#2520774" }, { "@score":"1", "@id":"2520776", "info":{"authors":{"author":[{"@pid":"194/4284","text":"Philip Ginsbach"},{"@pid":"170/1501","text":"Toomas Remmelg"},{"@pid":"35/10101","text":"Michel Steuwer"},{"@pid":"124/2654","text":"Bruno Bodin"},{"@pid":"54/4040","text":"Christophe Dubach"},{"@pid":"07/521","text":"Michael F. P. O'Boyle"}]},"title":"Automatic Matching of Legacy Code to Heterogeneous APIs: An Idiomatic Approach.","venue":"ASPLOS","pages":"139-153","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/GinsbachRSBDO18","doi":"10.1145/3173162.3173182","ee":"https://doi.org/10.1145/3173162.3173182","url":"https://dblp.org/rec/conf/asplos/GinsbachRSBDO18"}, "url":"URL#2520776" }, { "@score":"1", "@id":"2520778", "info":{"authors":{"author":[{"@pid":"168/0992","text":"Peizhen Guo"},{"@pid":"56/4439","text":"Wenjun Hu"}]},"title":"Potluck: Cross-Application Approximate Deduplication for Computation-Intensive Mobile Applications.","venue":"ASPLOS","pages":"271-284","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/GuoH18","doi":"10.1145/3173162.3173185","ee":"https://doi.org/10.1145/3173162.3173185","url":"https://dblp.org/rec/conf/asplos/GuoH18"}, "url":"URL#2520778" }, { "@score":"1", "@id":"2520780", "info":{"authors":{"author":[{"@pid":"125/2554","text":"Swapnil Haria"},{"@pid":"h/MarkDHill","text":"Mark D. Hill"},{"@pid":"s/MichaelMSwift","text":"Michael M. Swift"}]},"title":"Devirtualizing Memory in Heterogeneous Systems.","venue":"ASPLOS","pages":"637-650","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/HariaHS18","doi":"10.1145/3173162.3173194","ee":"https://doi.org/10.1145/3173162.3173194","url":"https://dblp.org/rec/conf/asplos/HariaHS18"}, "url":"URL#2520780" }, { "@score":"1", "@id":"2520781", "info":{"authors":{"author":[{"@pid":"66/8857","text":"Chang-Hong Hsu"},{"@pid":"01/9257","text":"Qingyuan Deng"},{"@pid":"48/6796","text":"Jason Mars"},{"@pid":"35/1464","text":"Lingjia Tang"}]},"title":"SmoothOperator: Reducing Power Fragmentation and Improving Power Utilization in Large-scale Datacenters.","venue":"ASPLOS","pages":"535-548","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/HsuDMT18","doi":"10.1145/3173162.3173190","ee":"https://doi.org/10.1145/3173162.3173190","url":"https://dblp.org/rec/conf/asplos/HsuDMT18"}, "url":"URL#2520781" }, { "@score":"1", "@id":"2520782", "info":{"authors":{"author":[{"@pid":"39/737","text":"Yongjian Hu"},{"@pid":"46/2869","text":"Iulian Neamtiu"}]},"title":"Static Detection of Event-based Races in Android Apps.","venue":"ASPLOS","pages":"257-270","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/HuN18","doi":"10.1145/3173162.3173173","ee":"https://doi.org/10.1145/3173162.3173173","url":"https://dblp.org/rec/conf/asplos/HuN18"}, "url":"URL#2520782" }, { "@score":"1", "@id":"2520783", "info":{"authors":{"author":[{"@pid":"160/0613","text":"Casen Hunger"},{"@pid":"44/1754","text":"Lluís Vilanova"},{"@pid":"p/CharalamposPapamanthou","text":"Charalampos Papamanthou"},{"@pid":"89/6105","text":"Yoav Etsion"},{"@pid":"33/65","text":"Mohit Tiwari"}]},"title":"DATS - Data Containers for Web Applications.","venue":"ASPLOS","pages":"722-736","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/HungerVPET18","doi":"10.1145/3173162.3173213","ee":"https://doi.org/10.1145/3173162.3173213","url":"https://dblp.org/rec/conf/asplos/HungerVPET18"}, "url":"URL#2520783" }, { "@score":"1", "@id":"2520784", "info":{"authors":{"author":[{"@pid":"02/291-2","text":"Yu Ji 0002"},{"@pid":"00/5995","text":"Youhui Zhang"},{"@pid":"60/810","text":"Wenguang Chen"},{"@pid":"x/YuanXie","text":"Yuan Xie 0001"}]},"title":"Bridge the Gap between Neural Networks and Neuromorphic Hardware with a Neural Network Compiler.","venue":"ASPLOS","pages":"448-460","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/JiZC018","doi":"10.1145/3173162.3173205","ee":"https://doi.org/10.1145/3173162.3173205","url":"https://dblp.org/rec/conf/asplos/JiZC018"}, "url":"URL#2520784" }, { "@score":"1", "@id":"2520785", "info":{"authors":{"author":[{"@pid":"173/9439","text":"Omer Katz"},{"@pid":"15/5033","text":"Noam Rinetzky"},{"@pid":"54/5133","text":"Eran Yahav"}]},"title":"Statistical Reconstruction of Class Hierarchies in Binaries.","venue":"ASPLOS","pages":"363-376","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/KatzRY18","doi":"10.1145/3173162.3173202","ee":"https://doi.org/10.1145/3173162.3173202","url":"https://dblp.org/rec/conf/asplos/KatzRY18"}, "url":"URL#2520785" }, { "@score":"1", "@id":"2520786", "info":{"authors":{"author":[{"@pid":"68/5181","text":"Mohan Kumar"},{"@pid":"182/6239","text":"Steffen Maass"},{"@pid":"145/0912","text":"Sanidhya Kashyap"},{"@pid":"173/9812","text":"Ján Veselý"},{"@pid":"189/7778","text":"Zi Yan"},{"@pid":"38/8882","text":"Taesoo Kim"},{"@pid":"78/4478","text":"Abhishek Bhattacharjee"},{"@pid":"50/2421","text":"Tushar Krishna"}]},"title":"LATR: Lazy Translation Coherence.","venue":"ASPLOS","pages":"651-664","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/KumarMKVYKBK18","doi":"10.1145/3173162.3173198","ee":"https://doi.org/10.1145/3173162.3173198","url":"https://dblp.org/rec/conf/asplos/KumarMKVYKBK18"}, "url":"URL#2520786" }, { "@score":"1", "@id":"2520787", "info":{"authors":{"author":[{"@pid":"203/0006","text":"Hyoukjun Kwon"},{"@pid":"206/1197","text":"Ananda Samajdar"},{"@pid":"50/2421","text":"Tushar Krishna"}]},"title":"MAERI: Enabling Flexible Dataflow Mapping over DNN Accelerators via Reconfigurable Interconnects.","venue":"ASPLOS","pages":"461-475","year":"2018","type":"Conference and Workshop Papers","access":"closed","key":"conf/asplos/KwonSK18","doi":"10.1145/3173162.3173176","ee":"https://doi.org/10.1145/3173162.3173176","url":"https://dblp.org/rec/conf/asplos/KwonSK18"}, "url":"URL#2520787" } ] } } } )